数组的本质分析

1 数组的基本概念

1.1 数组的概念

数组是相同类型的变量的有序集合。
数组的本质分析

1.2 数组的大小

数组的大小:

  • 数组在一片连续的内存空间中存储元素。
  • 数组元素的个数可以显示或隐式指定。

数组的本质分析
a[2] = 0, a[3] = 0, a[4] = 0;b中包含了2个元素。


2 数组名

2.1 数组地址与数组名

关于数组地址和数组名:

  • 数组名代表数组首元素的地址。
  • 数组的地址需要用取地址符号&才能得到。
  • 数组首元素的地址值与数组的地址值相同。
  • 数组首元素的地址与数组的地址是两个不同的概念。

2.2 数组名的盲点

数组名必须知道如下几点:

  • 数组名可以看作一个指针常量。
  • 数组名“指向”的是内存中数组首元素的起始位置。
  • 数组名不包含数组的长度信息。
  • 在表达式中数组名只能作为右值使用。
  • 只有下列场合中数组名不能看作常量指针。
    • 数组名作为sizeof操作符的参数。
    • 数组名作为&运算符的参数。

数组名在大多数情况下被当成常量指针处理,但是数组名并不是指针,不能将其等同于指针!


参考资料:

  1. C语言进阶剖析教程