L22数组基础

数组本质

  1. 数组是相同类型的变量的有序集合
  2. 数组名代表数组首元素的地址
  3. int a[5]={0};,a和&a的值相同,但是含义有区别
  4. a代表数组首元素地址;&a表示数组的地址
  5. 数组名可以看做一个常量指针
  6. 在表达式中数组名只能作为右值使用
  7. 只有在下列场合中数组名不能看做常量指针
    1. 数组名作为sizeof操作符的参数
    2. 数组名作为&运算符的参数

当给一个指定大小的数组赋一个初始值时,剩下的别的未被初始化的数组值会被赋予零。
要将数组初始化为零的较为简单地方法:

int a[100] ={0x00};

获取数组元素的个数:

int a[5]={0x00};
int b[]={1,3};
c = sizeof(a)/sizeof(*a);//c=5
d = sizeof(b)/sizeof(*b);//d=2

小结:

  1. 数组是一片连续的空间

  2. 数组的地址和数组首元素的地址,值相同,意义不同

  3. 数组名在大多数情况下被当成常量指针处理

  4. 数组名其实并不是指针,在外部声明时不能混淆

猜你喜欢

转载自blog.csdn.net/shouzhoudd/article/details/46352273