一个char类型的数组的名字本身就是一个指针变量,它指向的是数组第一个元素的地址,例如char num[3] = "str",num指向的就是num[0]的内存空间,而num[0]是一个char类型的数据,所以可以说num就是一个char类型的指针,所以char *num = "str"等价于char num[3] = "str",只是前者指向的内存在常量区,不可修改,后者指向的内存在栈里,可以修改。
本文共 251 字,大约阅读时间需要 1 分钟。
一个char类型的数组的名字本身就是一个指针变量,它指向的是数组第一个元素的地址,例如char num[3] = "str",num指向的就是num[0]的内存空间,而num[0]是一个char类型的数据,所以可以说num就是一个char类型的指针,所以char *num = "str"等价于char num[3] = "str",只是前者指向的内存在常量区,不可修改,后者指向的内存在栈里,可以修改。
转载于:https://my.oschina.net/jlongtian/blog/817404