C语言_指针和二维数组

指针和二维数组

  1. 二维数组的地址认知,很猛:

二维数组中独有说法:父子数组

二维数组本质还是数组,不同点是数组元素还是个数组(子数组

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

数组名=地址

行地址=父数组,地址=a,数组名     a+1偏移了16字节

列地址=子数组,地址=a[0],a[1],a[2]a[0]+1偏移了4字节

a[0]等价与&a[0][0]

a[1]等价于&a[1][0]

a[2]等价于&a[2][0]

*思考一个问题:a是谁的地址,a[0]又是什么,那*a或者

*(a+0)呢?

a表示父数组的意思,a[0]*a表示子数组的地址

*a等价于*(a+0)

通过编程认证认知:

a[0]可以写成*(a+0)偏移1 a[0]+1可以写成*(a+0)+1

a[1]可以写成*(a+1)偏移1 a[1]+1可以写成*(a+1)+1

a[2]可以写成*(a+2)偏移1 a[2]+1可以写成*(a+2)+1

树立认知:

这个嵌入式工程师笔试题会考

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值