首页 > 试题广场 >

int (*s[10])(int) 表示的是什么?

[单选题]
int (*s[10])(int) 中s表示的是什么?
  • 指针数组,每个指针指向长度为1的int数组
  • 指针数组,每个指针指向长度为10的int数组
  • 函数指针数组,每个指针指向一个int func(int* param)的函数。
  • 函数指针数组,每个指针指向一个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)的函数。

发表于 2015-09-01 09:38:37 回复(8)
一个简单的方法,把*读作 (*后面的内容)is a pointer points to (*前面的内容) 这里就可以读作 s[10]is a pointer points to int (int),即指向函数的指针数组。
发表于 2016-07-07 10:15:18 回复(0)
第一个int的作用是定义一个返回类型为int的函数,(*s[10])(int)表示的是一个函数数组,分开看, (*s[10])是函数名,s[10]是10个函数的函数指针。(int)表示形参的类型为int。
发表于 2016-09-02 16:33:56 回复(0)
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)的函数。
发表于 2021-08-29 19:31:07 回复(0)
int (*s[10])(int) 函数指针数组,每个指针指向一个int func(int param)的函数。
发表于 2014-11-14 23:39:24 回复(0)
完全看不懂
发表于 2022-09-22 21:01:53 回复(0)
后面的括号里的int说明是函数型参类型
发表于 2020-02-16 09:19:04 回复(0)
函数指针数组
发表于 2017-06-14 17:17:01 回复(0)