复杂声明学习总结

声明时可以使用的修饰符:

* 一个指针变量

() 表示一个函数

[] 表示一个数组

声明一个指向特定函数类型的指针,首先声明一个该类型的函数,然后用(*pf)形式的表达式代替函数的名称,其实函数名的本质就是函数的地址!

char* fump(); --> 返回值类型为 char* 的函数;

char (*fump)(); --> 返回值为 char 的函数的指针;

char ( *fump[3] ) ();

--> 由3个指针组成的数组;

--> 指针指向返回值类型为char的函数;

(存放指针的数组 函数指针 返回值类型为char型)

例:

声明:int *( *a[5] ) (int, char*);

返回值类型:int*

函数名:*a[5]

传入参数:(int, char*)

这是一个函数声明,函数名为一个指针数组,返回值为 int 型指针,传入参数为 int 和 char 型指针的函数。

如有错误之处,请留言指出,一起交流学习,谢谢。

原文地址:https://www.cnblogs.com/lilto/p/9545350.html