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