数组名与指针的关系?
来源:互联网 发布:淘宝店铺插件 编辑:程序博客网 时间:2024/05/23 19:08
一维数组的单位是元素,一维数组名代表首个元素的地址
二维数组的单位是一维数组,二维数组名代表首个一维数组的地址
二维数组的单位是一维数组,二维数组名代表首个一维数组的地址
为了方便理解,定a一维数组 aa二维数组 aaa三维数组
对于整型一维数组a来说:
a : 数组名,表示指针常量,保存数组首元素的地址,是一个常量,不 可以进行自加操作。
&a 代表数组的地址
对一维数组名取地址等于一维数组的地址;
对数组的地址取值等于等于一维数组的首元素的地址
对一维数组名取地址等于一维数组的地址;
对数组的地址取值等于等于一维数组的首元素的地址
对于二维数组来说,定义时不能省略列,可以省略行。
aa + i :第i+1个一维数组的地址
*(aa+i):第i+1个一维数组的首元素的地址
*(aa+i)+j:第i+1个一维数组的第j+1个元素的地址
*(*(aa+i)+j):第i+1个一维数组的第j+1个元素的值
&aa:对二维数组名取地址等于二维数组的地址
*(&aa) = aa:对二维数组的地址取值等于首个一维数组的地址
**(&aa) == *aa:对二维数组的首个一维数组的地址取值等于二维数组 首个一维数组的首元素的地址
*(aa+i):第i+1个一维数组的首元素的地址
*(aa+i)+j:第i+1个一维数组的第j+1个元素的地址
*(*(aa+i)+j):第i+1个一维数组的第j+1个元素的值
&aa:对二维数组名取地址等于二维数组的地址
*(&aa) = aa:对二维数组的地址取值等于首个一维数组的地址
**(&aa) == *aa:对二维数组的首个一维数组的地址取值等于二维数组 首个一维数组的首元素的地址
对于三维数组来说:
&a:三维数组的地址
a:三维数组的数组名,也就是首个二维数组的地址
*a: 首个二维数组的首个一维数组的地址
**a:首个二维数组的首个一维数组的首元素的地址
***a:首个二维数组的首个一维数组的首元素的值
&a:三维数组的地址
a:三维数组的数组名,也就是首个二维数组的地址
*a: 首个二维数组的首个一维数组的地址
**a:首个二维数组的首个一维数组的首元素的地址
***a:首个二维数组的首个一维数组的首元素的值
*(*(*(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个元素的值
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个元素的值
数组名当形参的时候,编译器将它当成指针看待的(强制类型转换),传一维数组名是用元素的指针来接,传二维数组名是用一维数组的指针来接,
a[3]
传一维数组名用元素的指针来接 int *a
a[2][2]
传二维数组名用一维数组指针来接 int (*a)[2]
a[3][2][2]
传三维数组名用二维数组指针来接 int (*a)[2][2]
传一维数组名用元素的指针来接 int *a
a[2][2]
传二维数组名用一维数组指针来接 int (*a)[2]
a[3][2][2]
传三维数组名用二维数组指针来接 int (*a)[2][2]
数组指针什么时候用? 函数传参的时候用。
1 0
- 数组名与指针的关系
- 数组名与指针的关系?
- 指针剖析,地址关系 (二) 数组与指针、数组名的关系
- 数组名和指针的关系辨析
- 指针与数组的关系
- 数组与指针的关系
- 指针与数组的关系
- 指针与数组的关系
- 指针与数组的关系
- 指针与数组的关系
- 指针与数组的关系
- 数组与指针的关系
- C语言中与指针相关问题——论数组名和数组名取地址的关系
- 彻底说明二维数组数组名和指针的关系
- 二级指针与指针数组的关系
- 指针 、指针与数组函数的关系
- 二级指针与指针数组的关系
- 数组名与指针
- mybatis的insert元素属性详解 及 在insert插入数据获取主键id的值
- eclipse中实用的几个快捷键的用法(适合自己的才是最好的)
- java注解
- netperf网络性能压测和网卡网口的压力
- 曲线文字js
- 数组名与指针的关系?
- Spring之切入点和切面的配置解释
- 进程间通信之:IPC
- 神经网络中的反向传播法——Back Propagation
- 验证码生成算法
- Spark on YARN工作原理
- 山科大oj--编写函数:各位数字之和 (Append Code)
- XML的基本语法(XML实现html的网页布局的简单功能)
- hadoop校验和