其实对于函数名()这种用法程序员存在一种误解,其实这种写法表示这个函数可以使用可变参数列表。
例如:
#include <stdio.h>
void fnc(void) {
puts("void parameter list");
}
void fnc_1(unsigned short n) {
printf("%hx\n", n);
}
void fnc_2(unsigned int n0, unsigned int n1) {
printf("%x %x\n", n0, n1);
}
int main(void) {
void (* ptr_fnc)(); //可变参数列表
ptr_fnc = fnc;
ptr_fnc();
ptr_fnc = fnc_1;
ptr_fnc(0x1);
ptr_fnc = fnc_2;
ptr_fnc(0x2, 0x3);
return 0;
}
因此,如果明确没有参数的话,应该使用函数名(Void)的方式。
HAVE FUN!