不定长的指针数组 里面存字符串_C/C++疑难点之 指针数组和数组指针

点击上方蓝色字关注我们!

      上一篇文章,我们说过了指针常量和常量指针。相信我的解释是清晰合理的。4d6962193f697bc91281862b0a1f1d59.png记不清楚的可以看一下往期的这篇文章。

      C/C++疑难之 常量指针与指针常量

c27d328fae0226ed46310f920c45f071.png

新问题

      我最近在做题的时候又遇到一个麻烦的地方。叫指针数组喝数组指针。我试着用我前面自己总结的方法,但是不是完全合适,就自己想了个新的记忆方法。这里把它记录下来。

      题目是这样的:

int *pa[5];
int (*pb)[5];
//分析两者的区别。

      我首先尝试了我前面自己总结的方法,但是行不通,因为都是*在[]前面。所以需要使用新的方法。

新方法

      首先,对于pa,就用我们前面讲的方法,*在前,[]在后。读作指针数组。对于pb,因为它和*已经被小括号绑定到了一起,因此,它是一个指针,且是数组指针。

      接下来是两者的区别:

      1.pa是指针数组,因此,它是一个数组,里面的元素是指针。对于具体的pa而言,里面的存的是指向int型数据的指针。

      2.pb是数组指针,因此,它是一个指针,是一个指向数组的指针。具体对于pb而言,pb指向的这个数组里面存的是int型数据。

总结
  1. 先用语文的方法从形式上区别出二者。

  2. 接着用计算机的知识分析其具体含义。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值