在头文件中,定义由
给出static void (*foo[CONST]) (void);
它的含义是什么?
答案 0 :(得分:7)
它的含义是一个带有CONST
个函数指针元素的数组,其中包含签名void f(void);
这些内容最常用于回调,例如函数 atexit
。
答案 1 :(得分:1)
找到最左边的标识符并逐步解决,记住()
之前[]
和*
绑定*ap[]
(*pa)[]
是指针数组*fp()
是一个指向数组的指针,(*pf)()
是一个返回指针的函数, foo -- foo
foo[CONST] -- is a CONST-element array
*foo[CONST] -- of pointers
(*foo[CONST])( ) -- to functions
(*foo[CONST])(void) -- taking no parameters
void (*foo[CONST])(void) -- and returning void
static void (*foo[CONST])(void) -- and foo has static extent
-- meaning it is not accessible by name
-- outside of the current translation unit (file)
是一个指向函数的指针):
{{1}}
答案 2 :(得分:0)
阅读关于函数指针的章节。