inta表示a这个变量是整型,只能存放整数。
inta【10】【10】
指的是代表a的二维数组,是指向一个有十个元素的数组的指针,或者说a是具有十个元素的数组的首元素的地址,这十个元素,每个元素都是一个数组。
在C语言的定义中,二维数组可以看作一个一维数组,每个元素还是一个一维数组。
inta[m][n];
表示一个包含m个元素的一维数组,每个元素是一个包含n个整型数据的一维数组。(参考K&R C 第二版 5.7 Multi-dimensional Arrays)
2.在C语言中,指针和数组有相似之处,但是两者本质不同。两者相似的地方有两点:
读取数组元素
函数传递
就二维数组来说,“相似”的指针应该指向和二维数组的子数组相同的数据类型,如
int(*p)[n]=a;
此时可以用a[i][j]或p[i][j]或*(p+i)[j]或*(a+i)[j]来获取相同的数据。
在声明一个接受一个二维数组的函数原型时,会忽略第一层数组的长度,等效的是上述指针类型的参数。即下面两种函数原型的声明都可以成功接受a做参数: