您的位置:首页 > 运维架构 > Linux

【linux c】一维至多维数组名的的含义及其取地址的含义_学习笔记_011

2016-07-20 20:22 316 查看
1.一维数组的数组名

int a[3];

a:指针常量,保存的是一维数组首元素的地址;

&a:对一维数组的数组名取地址,表示一维数组的地址;

*(&a):对一维数组的地址取值等于数组首元素的地址。

2.二维数组的数组名

int a[2][2];

*(*(a + i) j)

a + i:保存的是二维数组中第(i + 1)个一维数组的地址;

*(a + i):表示二维数组中第(i + 1)个一维数组的首元素的地址;

*(a + i) j:表示二维数组中第(i+ 1)个一维数组的第(j + 1)个元素;
*(*(a + i) j) :表示二维数组中第(i + 1)个一维数组的第(j + 1)个元素的值。

3.三维数组的数组名

int a[2][2][2]

*((*(*(a + i) j) + k)

a + i:保存的三维数组中第(i + 1)个二维数组的地址;

*(a + i):表示三维数组中第(i + 1)个二维维数组的首个一维数组的地址;

*(a + i) j:表示三维数组中第(i+ 1)个二维数组的第(j + 1)个一维数组的地址;
*(*(a + i) j) :表示三维数组中第(i + 1)个二维数组中第(j + 1)个一维数组的首个元素的地址;

*(*(a + i) j) + k:表示三维数组中第(i + 1)个二维数组中第(j + 1)个一维数组中第(k + 1)个元素的地址;

*((*(*(a + i) j) + k):示三维数组中第(i + 1)个二维数组中第(j+ 1)个一维数组中第(k + 1)个元素的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 指针 变量 数组