C/C++如何快速区分指针数组|数组指针|函数指针|指针函数

2022-03-15 00:52:07 浏览数 (1)

如何区分这些概念,主要还是看后面两个字,中文表达模式“​表语 定性名词​”,​所以关键的都是后面的这个名词​:

指针数组​:一个数组,数组元素是指针,如: int* p[20];

数组指针​:一个指针,指向一个数组,如:int(*p)[20];

函数指针​:一个指针,指向一个函数;

基本声明形式:返回数据类型 (*函数名) (变量类型1,…);

函数指针声明的时候 * 需要和函数名用括号括起来(优先级问题)。

如:int (*pFun)(int a, int b);

指针函数​:一个函数,返回指针类型;

​基本声明形式:返回数据类型 * 函数名 (变量类型1,…);​

如:int* pFun(int a, int b);

指向函数指针的数组​:一个数组,数组元素是指向函数的指针,也就是函数指针,如:int (*p[20])(int a, int b);

总结:​函数指针的本质是一个指针,而指针函数的本质是一个函数。

相关实例代码多如牛毛,不再赘述。

0 人点赞