数组的本质分析
1 数组的基本概念
1.1 数组的概念
数组是相同类型的变量的有序集合。
1.2 数组的大小
数组的大小:
- 数组在一片连续的内存空间中存储元素。
- 数组元素的个数可以显示或隐式指定。
a[2] = 0, a[3] = 0, a[4] = 0;b中包含了2个元素。
2 数组名
2.1 数组地址与数组名
关于数组地址和数组名:
- 数组名代表数组首元素的地址。
- 数组的地址需要用取地址符号&才能得到。
- 数组首元素的地址值与数组的地址值相同。
- 数组首元素的地址与数组的地址是两个不同的概念。
2.2 数组名的盲点
数组名必须知道如下几点:
- 数组名可以看作一个指针常量。
- 数组名“指向”的是内存中数组首元素的起始位置。
- 数组名不包含数组的长度信息。
- 在表达式中数组名只能作为右值使用。
- 只有下列场合中数组名不能看作常量指针。
- 数组名作为sizeof操作符的参数。
- 数组名作为&运算符的参数。
数组名在大多数情况下被当成常量指针处理,但是数组名并不是指针,不能将其等同于指针!
参考资料: