《C和指针》笔记(七)-- 数组

C/C++ 笔记

QQ : 1841545843
邮箱 : [email protected]

  1. 数组名的值是一个指针常量,数组第一个元素的地址,如果数组为 int 就是“指向int的指针常量”,如果为“其他类型”,则为“指向其他类型的常量指针”。
  2. 指针常量所指向的是内存中数组的起始位置,如果修改这个指针常量,唯一可行的办法是将整个数组移动到内存中的其他位置。
  3. 特例:
int a[10];

sizeof(a)        // 返回整个数组的长度

&a                // 产生一个指向数组的指针,而不是指向一个指针常量的指针

4. 除了优先级之外,下标访问和间接访问完全相同。
5. 下标并不会比指针更有效率,但指针有时会比下标更有效率。
6.指针域数组的区别:

  • 声明一个数组时,编译器将根据声明所指定的元素数量为数组保留内存空间,然后再创建数组名,它的值是一个常量,指向这段空间的起始位置。
  • 声明一个指针变量时,编译器只为指针本身保留内存空间,它并不为任何整形值分配内存空间。

《C和指针》笔记(七)-- 数组_第1张图片

  1. 字符数组
char message1[] = "he";

char* mesage2 = "he";

《C和指针》笔记(七)-- 数组_第2张图片

你可能感兴趣的:(C++)