二维数组公式:
例如:int a[2][3] = {0}; //6个元素,都被初始化为0
1.a是数组的首地址=第0个一维数组的首地址a[0]=第0个一维数组的第0个元素的首地址=&a[0][0], a=a[0]=&a[0][0]
因为a[0][0]是个元素,所以必须通过取地址符进行操作
2.sizeof(a):获取二维数组占用的内存总大小=2×3×4=24字节,计算数组所占内存大小就是组数,组内元素个数,元素大小三者相乘。
3.sizeof(a[0]):获取二维数组第0个一维数组占用的内存大小=3*4=12字节,a[0]为a[2][3]的第0个一维数组,就是第一行
0 0 0
0 0 0
可以联想线性代数中的矩阵,将多维数组想象矩阵,这就是一个2行3列的矩阵
4.sizeof(a[0][0]):获取二维数组第0个一维数组的第0个元素的内存大小=4字节
5.sizeof(a)/sizeof(a[0])=获取二维数组的长度=24/12=2组(行)
6.sizeof(a[0])/sizeof(a[0][0])=获取一维数组的长度=12/4=3个元素(列)
7.sizeof(a)/sizeof(a[0][0])=获取所有元素的个数=24/4=6个元素