指针高级应用
指针数组与数组指针
字面意思来理解指针数组和数组指针
1.指针数组的实质是一个数组,这个数组中存储的内容全部是指针变量。
2.数组指针的本质是一个指针,这个指针指向的是一个数组。
分析指针数组和数组指针的表达式
如int p[5]; int (p)[5]; int *(p[5]);
一般规律,int p是一个指针。 int p[5]是一个数组。
总结:我们在定义一个符号时,关键在于:首先要搞清楚你定义的符号是谁(第一步:找核心),其次再来看谁跟核心最近、谁跟核心结合(第二部:找结合);以后继续向外扩展(第三步:继续向外结合直到整个符号完)。
如果核心和结合,那么核心是指针。如果核心和[]结合,那么核心是数组。如何核心和()结合,那么核心是函数。
那么很好判断第一个表达式是指针数组,第二个表达式是数组指针,第三个也是指针数组。
注意:符号的优先级的用处是决定当两个符号一起作用的时候决定哪个符号先运算,哪个符号后运算。遇到优先级问题第一种方法是查询优先级表,第二种方法是自己记住