关于网友提出的“ 关于函数指针数组的疑惑”问题疑问,本网通过在网上对“ 关于函数指针数组的疑惑”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 关于函数指针数组的疑惑描述:
定义一个变量a,
包含10个函数指针的数组,该函数返回值为int ,有一个参数int;
int (*a[10])(int)
int (*a(int))[10]
这俩区别在哪?
编译器都没报错
解决方案1:
不要套那么多括号,会晕菜的。
像楼上说的那样定义个函数指针类型:
解决方案2:
typedef int (*func_t) (int);
func_t function_table[10];
使用typedef定义函数指针,然后就能用
FuncPointer a[10];
来定义指针数组了
把一个问题拆分成两个。
第一个声明符合题目的要求。
但第二个a是一个函数,返回值类型是指向数组int[10]的指针,形参是int。