通过指针引用二维数组

本文介绍了如何通过指针引用二维数组中的元素。二维数组实际上是一维数组的数组,每个a[i]代表一个一维数组的首地址,如a[0]表示a[0][0]的地址。通过a[i] + j 可以获取a[i][j]的地址,这一规律与一维数组中的指针运算类似。
摘要由CSDN通过智能技术生成

二维数组元素的地址

指针变量可以指向一维数组中的元素,当然也就可以指向二维数组中的元素,但是在概念和使用方法上,二维数组的指针比一维数组的指针复杂一些。要理解指针和二维数组的关系首先要记住一句话:
二维数组就是一维数组
如果理解不来这句话,那么你就无法理解指针和二维数组的关系。

int a[3][4] = {
	{1,2,3,4},
	{5,6,7,8},
	{9,10,11,12}
}

其中 a 是 二维数组名,a数组包含 3 行,即 3 个行元素,a[0], a[1], a[2],每个元素都可以看成含有 4 个元素的一维数组。而且 c 语言规定,a[0],a[1],a[2]分别是三个一维数组的数组名。

在这里插入图片描述
a[0],a[1],a[2]既然是一维数组名,一维数组的数组名表示就是数组第一个元素的地址,所以a[0]表示的元素a[0][0]的地址,即a[0] = &a[0][0];以此类推。

所以二维数组a[M][N]中,a[i]表示的就是元素a[i][0]地址,即a[2] = &a[2][0],所以

博客
v8worker
05-08 2890
05-06 2869
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值