1.多维数组
A3*4= {{1,3,5,7},{2,4,6,8},{3,5,7,11}};
存储(C语言中)按行存储
计算机内存是一维编址的,多维数组必须要转化为一维方式存储,二维数组则按行排列,先排第一行,再排第二行,直到所有行排完,即所谓按行排列:
mat[0][0] mat[0][1] mat[0][2] mat[0][3] mat[0][4] mat[0][5] mat[1][0] mat[1][1] mat[1][2] mat[1][3] mat[1][4] mat[1][5] mat[2][0] mat[2][1] mat[2][2] mat[2][3] mat[2][4] mat[2][5]
作为参数
我定义了这样一个数组,我想把这个数组作为参数,传递到一个函数中,并要在函数中能引用该二维数组的元素,我该怎么做?
第一种方式是直接传递二维数组,但是必须标明第二维的值,因为如果只是传递a[][],编译器无法分配这样的数组,所以要这样传int a[][3]
第二种方法是传递指针数组方式,即int (*a)[3]