点击上方蓝色字关注我们!
上一篇文章,我们说过了指针常量和常量指针。相信我的解释是清晰合理的。记不清楚的可以看一下往期的这篇文章。
C/C++疑难之 常量指针与指针常量
![c27d328fae0226ed46310f920c45f071.png](https://i-blog.csdnimg.cn/blog_migrate/e8185b2859992798c6f2358ab3cd331c.png)
新问题
我最近在做题的时候又遇到一个麻烦的地方。叫指针数组喝数组指针。我试着用我前面自己总结的方法,但是不是完全合适,就自己想了个新的记忆方法。这里把它记录下来。
题目是这样的:
int *pa[5];
int (*pb)[5];
//分析两者的区别。
我首先尝试了我前面自己总结的方法,但是行不通,因为都是*在[]前面。所以需要使用新的方法。
新方法
首先,对于pa,就用我们前面讲的方法,*在前,[]在后。读作指针数组。对于pb,因为它和*已经被小括号绑定到了一起,因此,它是一个指针,且是数组指针。
接下来是两者的区别:
1.pa是指针数组,因此,它是一个数组,里面的元素是指针。对于具体的pa而言,里面的存的是指向int型数据的指针。
2.pb是数组指针,因此,它是一个指针,是一个指向数组的指针。具体对于pb而言,pb指向的这个数组里面存的是int型数据。
总结先用语文的方法从形式上区别出二者。
接着用计算机的知识分析其具体含义。