带*与[ ]、()的定义判断(指针数组,数组指针,指针函数,函数指针)

例:int *p[10]

这是一个指针数组,即一个长度大小为10,每个元素都是指针的数组,实质是数组。

例:int (*p)[10]

这是一个数组指针,即一个指针指向了一个长度为10的数组,实质是指针。

安利一个在一些复杂场合,不用画图,不用过多思考的方法。

有一个万能分析法,能解决百分之九十九的定义判断。

        1:看变量,以变量为中心,遵循先看右边再看左边,括号()优先。

        2:先判断出来的则是本质。数组指针,可理解为数组的指针,本质则是指针。数组指针指针数组函数(有点夸张),本质是函数,所以尾语即为本质,按照判断出来的顺序,越先判断出来的越靠近尾语。

有点抽象,例子说明。

例:char *p[10][22]

分析:先看变量p,看右边是一个二维数组,即实质是一个二维数组,再看左边是一个char *的指针,即二维数组里存的是char *型指针。即 p是一个指针二维数组。

例:int (*buf4[2])[3]

分析:先找到变量buf4,先看括号,括号buf4右边是数组,本质是一个数组,再看左边是一个指针,则括号里是指针数组,括号整体右边是一个数组,即buf4是一个数组的指针数组。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小珂打代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值