指针数组、数组指针、函数指针

一、基本概念

1.指针数组:实质上是一个数组,数组中的元素是指针;

2.数组指针:实质上是一个指针,指针指向的值为数组;

3.函数指针:实质上是一个指针,指针指向的值为函数;

二、表达式

1.指针数组:如int *p[5]  p含义为容量为5的int*类型的数组

2.数组指针:如int(*p)[5] p的含义为指向一个容量为5的int型数组的指针

3.函数指针:如int (*p)(int ) p的含义为指向一个输入参数为int型返回一个int型的函数的指针

三、如何构成不同的表达式

1.优先级:当两个符号在一起时决定哪个符号先运行:[ ]的优先级大于*,且()为强制结合

要判断不同的表达式的意义:

第一步:找核心,即找到定义的符号是哪个,如前面的p为表达式的核心;

第二步:找结合,找到离核心最近的符号;

第三步:向外扩展。

如:int *p[5],先找到表达式的核心,即为p;然后再进行结合,因为[ ]的优先级高于*,则先和[ ]结合,即p是有5个元素的数组,再和int*结合,则数组的类型为int*。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章