在C中,当我们想要为以下类型的函数定义函数指针时:
int f(int x, int y);
我们将函数指针变量定义为
int (*fp)(int, int);
我的问题是,下面这行在C中(没有*)是什么意思,因为GCC,编译时没有错误
int (fp)(int, int);
谢谢
在C中,当我们想要为以下类型的函数定义函数指针时:
int f(int x, int y);
我们将函数指针变量定义为
int (*fp)(int, int);
我的问题是,下面这行在C中(没有*)是什么意思,因为GCC,编译时没有错误
int (fp)(int, int);
谢谢
int (fp)(int, int);
是名为fp
的函数的forward declaration.
它不声明或定义变量.这就像在任何其他名称周围使用括号一样,例如(x) + (y)
.
简而言之,这和
int fp(int, int);