蒙恩招生网 蒙恩招生网4
2023-10-30
更新时间:2023-11-06 01:02:37作者:51data
关注微信公众号 老卢私塾讲讲C的数组和指针这一块,指针和数组不是一回事儿
【我说的都是我的经历、印象、记忆,肯定不会100%准确,请凑合着看,咱们这不是写学术论文】
回答网友留言:
"能不能讲讲C++的数组和指针这一块,一直不明白"1. 指针存放的就是变量、函数的(首)地址所以可以通过指针来操作数组。从这效果上来说,指针和数组“一样”l 通过"数组"的方式访问数组a[i],p[i]l 通过"指针"的方式访问数组*(a+i),*(p+i)2. 但是之前又说过:内存分为栈、堆、静态存储区。而指针可以指向任何区域例:char a[] = "hello"; //栈内存a[0] = 'X'; //正确char *p = "world"; //p指向的是常量字符串即静态存储区p[0] = 'X'; //编译器不能发现该错误, 但运行时会crash【修改常量导致崩溃】所以此时就不能认为数组和指针是“一样”的。3. 总结:指针可以指向任何内存区域,但是数组是在栈内存上,所以用指针操作数组只是指针的功能之一。所以大家千万不要认为“数组==指针”。
版权声明:本文基于CC协议,以分享为目的,转载于今日头条,版权归原作者,如侵权请联系我们删除,内容仅供参考,不代表本站建议!