如何区分这些概念,主要还是看后面两个字,中文表达模式“表语+定性名词”,所以关键的都是后面的这个名词:
指针数组:一个数组,数组元素是指针,如: 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);
总结:函数指针的本质是一个指针,而指针函数的本质是一个函数。
相关实例代码多如牛毛,不再赘述。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。