1.二维数组的存储
如何理解二维数组?我们以二维的方式理解二维数组,它在存储的时候却是唯一的。
例如:
int a[3][4] = {1,3,5,7,9,11,13,15,17,19,21,23};

2.二维数组中的各种指针理解
(1)元素指针: *(a+i)+j, 等价于a[i]+j, 等价于&(a[i][j]), 表示元素a[i][j]的地址
(2)元素的值: *(*(a+2)+3),等价于*(a[2]+3), 等价于a[2][3],表示元素a[2][3]的值
(3)列指针: *(a+2), 等价于 a[2]
(4)列指针: *a, 等价于*(a+0),也等价于a[0]
(5)行指针a
(5)行指针a+i:
二维数组a[i][j]的行指针的步长是一维数组a[j]的字节数,
二维数组a[i][j]的列指针和元素指针的步长是a[i][j]元素的字节数.


本文详细解读了二维数组的存储原理,包括元素指针、值访问、行指针和列指针的概念,并探讨了它们在内存中的实际布局。通过实例演示,帮助读者理解二维数组背后的数据组织方式和指针操作技巧。
4373

被折叠的 条评论
为什么被折叠?



