c语言这个定义看不懂 char *(*a[3])(int **p) a是一个3个元素的指针数组,每个

c语言这个定义看不懂 char *(*a[3])(int **p) a是一个3个元素的指针数组,每个指针指向一个原型为char *func(int **p)的函数 那这个函数返回类型不一样啊? 还有这个原型char *func(int **p)是指针函数吗? char *func(int **p)我这样理解对吗?func是一个返回类型是int 二级指针,char *指针指向这个函数,

请把相关的代码贴出来吧,这样能帮助大家理解你的问题。 

这是一个指向 指针函数 的 函数指针 数组。

char * 表示返回类型为字符串指针。 所以叫指针函数。

(*a[3])() 指向函数的指针。所以叫函数指针。

int **p 这个是参数,随你怎么用。

 

char *func(int **p)func是一个参数为int **,返回值为char* 的函数

char (*func)(int **p)func可以是指向 char *func(int **p)的函数指针。