1.在C语言中,对于一个数组,我们只能做两件事情:
A. 确定该数组的大小(数组的大小必须在编译器就作为一个常数确定下来)
B. 获得指向该数组下标为0的元素的指针。(其他的数组操作,实际上都是通过指针进行的)
2. C语言中,数组的元素可以是任何类型的对象,也可以是另外一个数组。因此,二维数组实际上是元素为一维数组的一维数组。
例如: int a[12][31];
该语句声明了一个数组,该数组拥有12个数组类型的元素;其中每个元素都是一个拥有31个整型元素的数组。
3. 如果我们在应该出现指针的地方,采用数组名来替换,那么数组名就被当作指向该数组下表为0元素的指针。
例如: int *p;
int a[3];
p = a; //把数组a中下标为0的元素的地址赋值给p。
如果写成p = &a;在C语言中是非法的,因为&a是一个指向数组的指针,而p是一个指向整形变量的指针,它们的类型不匹配。