【例8-10】用指针操作二维数组

(一)用指针操作二维数组:
(1)二维数组中蕴含的地址关系
定义一个整型二维数组a[3][4] = { {11,21,31,41},{22,32,42,52},{33,43,53,63}};
对于存储地址、数组元素有如下等价关系:
(a为数组名(首地址)、i为行循环控制变量、j为列循环控制变量)
存储地址的表示方式:&a[i][j] <---> a[i]+j <---> *(a+i)+j
数组元素的表示方式:a[i][j] <---> *(a[i]+j) <---> *(*(a+i)+j) <---> (*(a+i))+[j]

2)用指针引用二维数组的方式一:"指针数组"。
指针数组:由指向同一数据类型的指针构成的数组,数组中每一个元素都是指针变量
建立"指针数组"与"二维数组元素"的关系:

int *p[3],i = 0;		//包含3个指针变量p[0]、p[1]、p[2]
int a[3][4] = {
  {11,21,31,41},{22,32,42,52},{33,43,53,63}};
for (i = 0; i < 3; i++)
{
	p[i] = a[i];		//建立指针变量与二维数组每行首地址的关系
}

建立关系后,通过指针p引用二维数组的元素a[i][j]的等价表示方式有:

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值