1、首先*s[10] 是一个指针数组,s 是一个含有10个指针的数组,故可以这样来看这条声明语句:假设 p 等价于
s[10],声明语句变为 int (*p)(int); 2、观察 int (*p)(int), 从名字开始,p前面有一个 * ,因此
p 是指针,有侧是形参列表,表示p指向的是函数,在观察左侧,函数返回的是 int; 3、则 int (*p)(int)
解读为:函数指针,指向一个 int func(int param) 的函数; 4、故 int (*s[10])(int)
:解读为:函数指针数组,每个指针指向一个 int func(int param)的函数。
1、首先*s[10] 是一个指针数组,s 是一个含有10个指针的数组,故可以这样来看这条声明语句:假设 p 等价于 s[10],声明语句变为 int (*p)(int); 2、观察 int (*p)(int), 从名字开始,p前面有一个 * ,因此 p 是指针,有侧是形参列表,表示p指向的是函数,在观察左侧,函数返回的是 int; 3、则 int (*p)(int) 解读为:函数指针,指向一个 int func(int param) 的函数; 4、故 int (*s[10])(int) :解读为:函数指针数组,每个指针指向一个 int func(int param)的函数。