嵌入式学习之C语言7-指针与二维数组

第六章 指针

1.二维数组的地址认知

将二维数组拆分为父数组与子数组,父数组的元素包含子数组的元素(二维数组回归一维数组)

int arry[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}  arry是二维数组的名字,名字即地址

arry数组包含3行,即3个行元素,arry[0],arry[1],arry[2],   每1个行元素又是一维数组,包含

arry[0][0] , arry[0][1] , arry[0][2] , arry[0][3].

父数组(行)的地址即 arry ,子数组(列)的地址即arry[0] , arry[1] , arry[2]

--------------------------------------------------------------------------------------------------------------------------------

 3 , 4 , 5           arry[0] = &a[0][0] , arry[1] = &arry[1][0] , //表示二维数组某一列的第一个元素的地址

 6 , 7 , 8           arry[0]是第0行第0列的元素 “ 3 ” 的地址

 9 , 0 , 0           &a[0][0] 将 a[0] 理解为数组名    a[0] [0] 该数组的第0个元素

重点理解:arry是父数组的地址,arry[0]是子数组的地址  

                *arry  =  *arry+0    ->  arry[0] 表示为子数组的地址

2.使用指针输出打印二维数组

a)小括号法

printf("地址: %p, 值: %d ", *(a+i)+j , *(*(a+i)+j) );   注意:取地址时 -> 有框无星,无框有星

b)中括号法

printf("地址: %p, 值: %d ", a[i]+j , *(a[i]+j) );

3.总结

重点理解

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值