关于函数指针数组的疑惑
定义一个变量a,
包含10个函数指针的数组,该函数返回值为int ,有一个参数int;
int (*a[10])(int)
int (*a(int))[10]
这俩区别在哪?
编译器都没报错
[解决办法]
第一个声明符合题目的要求。
但第二个a是一个函数,返回值类型是指向数组int[10]的指针,形参是int。
[解决办法]
使用typedef定义函数指针,然后就能用
FuncPointer a[10];
来定义指针数组了
把一个问题拆分成两个。
[解决办法]
不要套那么多括号,会晕菜的。
像楼上说的那样定义个函数指针类型:
typedef int (*func_t) (int);func_t function_table[10];