我在一位项目的教授提供的.h文件中看到了这个。但是我不太清楚这意味着什么。
int (*get_console_dev)(void);
与
相同(int*) get_console_dev(void);
(一个名为get_console_dev的函数,它返回指向int
的指针?)
由于
答案 0 :(得分:7)
它是一个函数指针,可以指向返回int
并取0参数的函数;它不等于你发布的第二行。
答案 1 :(得分:3)
int (*get_console_dev)(void)
是一个函数指针声明。 get_console_dev
是一个变量,可以保存对与特定签名匹配的函数的引用。
int consoleFunction(void);
// ...
int (*get_console_dev)(void);
get_console_dev = consoleFunction;
此声明与以下内容不同:(int*) get_console_dev(void);
。
使用cdecl进行检查。
答案 2 :(得分:0)
int(* get_console_dev)(void);
这是指针指针函数,没有参数,返回类型为整数。
(int *)get_console_dev(void);
这是没有参数的函数,返回类型是整数类型的指针。
两者完全不同。
答案 3 :(得分:0)
请阅读功能指针。它是一个指向函数的指针,它接受void(作为参数)并返回整数