数组

本文详细解析了一维、二维及三维数组与指针之间的关系,包括数组名作为指针常量的概念、数组与指针的转换规则以及如何通过指针访问数组元素等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组名是指针常量,保存着数组首元素的地址。

 

一维数组名:首元素的地址。

 

a[i] = *(a+i);

a代表着数组首元素的地址;

&a 代表数组的地址(对数组名取地址等于数组的地址)

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

 

二维数组名:首个一维数组的地址。

 

a[i][j] = *(*(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个元素的值。

 

一维数组

a:一维数组首元素的地址。

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

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

二维数组

aa:首个一维数组的地址。

*aa:首个一维数组首元素的地址。

**aa首个一维数组首元素的值。

&aa对二维数组取地址等于二维数组的地址。

*(&aa) = aa:对二维数组的地址取值等于首个一维数组的地址。

三维数组

aaa:首个二维数组的地址。

*aaa:首个二维数组中首个一维数组的地址。

**aaa:首个二维数组中首个一维数组中首元素的地址。

***aaa:首个二维数组中首个一维数组中首元素的值。

 

数组作形参时,默认为指针;

数组作实参时,实质穿的是地址

 

数组指针的唯一作用

传二维数组形参用一维数组指针接(int (*a)[2]

传一维数组时,用元素指针来接

 

指针数组:保存指针的数组

int*a[3];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值