C语言二维数组指针(指向二维数组的指针)详解
二维数组在"概念上"是"二维"的,有行和列,但在"内存中"所有的数组元素都是连续排列的,它们之间没有"缝隙"。
以下面二维数组a为例
int a[3][4] = { {0,1,2,3},{4,5,6,7},{8,9,10,11}};
从概念上理解, a的分布想一个矩阵:
0 1 2 3
4 5 6 7
8 9 10 11
但在内存中,a的分布是一维线性的,整个数组占一块连续的内存:
0 1 2 3 4 5 6
二维数组在"概念上"是"二维"的,有行和列,但在"内存中"所有的数组元素都是连续排列的,它们之间没有"缝隙"。
以下面二维数组a为例
int a[3][4] = { {0,1,2,3},{4,5,6,7},{8,9,10,11}};
从概念上理解, a的分布想一个矩阵:
0 1 2 3
4 5 6 7
8 9 10 11
但在内存中,a的分布是一维线性的,整个数组占一块连续的内存:
0 1 2 3 4 5 6