C语言中的数组就是一个保存了多个相同数据类型的数据集合。
数组定义后分配到的内存空间是一段固定的连续的内存空间,且释放前内存空间不可变(不管是地址还是空间的长度)。
数组的定义和使用对于初学者来说,很容易掌握,这里讲几个点。
1:数组名单独出现的时候是数组首元素的地址。
数组名 = &数组名[0]
上面这个公司适用于C语言中的所有数组,记住,是所有数组。
2:数组元素引用的冷门写法
元素序号[数组名];
例如:
int a[5] = {1,2,3,4,5};
那么a就是等价于&a[0].
访问数组除了常规写法 a[0],a[1],a[2],a[3],a[4]外,也可以写成0[a],1[a],2[a],3[a],4[a].
为什么可以这么写?要知道我们看到的和编译器看到的是两回事。
我们写的是a[0]或者0[a]
编译器看到的是 *(a+0),*(0+a)
根据加法运算中的 a+b等价于b+a,所以,你懂了吗?