C/C++ 笔记
QQ : 1841545843
邮箱 : jiaxx903@163.com
- 数组名的值是一个指针常量,数组第一个元素的地址,如果数组为 int 就是“指向int的指针常量”,如果为“其他类型”,则为“指向其他类型的常量指针”。
- 指针常量所指向的是内存中数组的起始位置,如果修改这个指针常量,唯一可行的办法是将整个数组移动到内存中的其他位置。
- 特例:
int a[10];
sizeof(a) // 返回整个数组的长度
&a // 产生一个指向数组的指针,而不是指向一个指针常量的指针
4. 除了优先级之外,下标访问和间接访问完全相同。
5. 下标并不会比指针更有效率,但指针有时会比下标更有效率。
6.指针域数组的区别:
- 声明一个数组时,编译器将根据声明所指定的元素数量为数组保留内存空间,然后再创建数组名,它的值是一个常量,指向这段空间的起始位置。
- 声明一个指针变量时,编译器只为指针本身保留内存空间,它并不为任何整形值分配内存空间。
- 字符数组
char message1[] = "he";
char* mesage2 = "he";