我有这个C代码(受测试启发)
#include <stdio.h>
int foo (int n)
{
static int s = 0;
return s += n;
}
int main()
{
int y;
int i;
for (i=0; i<5; i++) {
y= foo(i);
}
printf("%d\n", foo);
return 0;
}
我对它的价值foo
以及它的类型特别感兴趣。编译器给我这个警告
test.c:18:16: warning: format specifies type 'int' but the argument has type
'int (*)(int)' [-Wformat]
但是我不太确定那是什么意思。什么是int (*)(int)
?不带参数的函数名称调用如何给我这种类型的东西?
如果没有该函数调用,则foo
求值指向指向一个函数的指针,该函数采用anint
并返回an int
。这是对的详细说明int (*)(int)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句