typedef int (xxx)(int yyy);
表示定义一个名为 xxx 且带有整数参数的函数。您可以查看此SO 帖子以了解详细信息。
我以不同的方式尝试过,这是我的代码:
#include<stdio.h>
#include<stdlib.h>
typedef int (xxx)(int yyy);
void f1(xxx a)
{
printf("f1:%d\n",a);
}
void f2(xxx *a)
{
printf("f2:%d\n",a);
}
int test(int y)
{
}
int main()
{
xxx *a;
f1(test);
f1(a);
f2(test);
f2(a);
xxx b;
printf("xxx's size:%d\n", sizeof(b));
}
输出:
f1:4199274
f1:2
f2:4199274
f2:2
xxx's size:1
我的问题:
f(xxx a)
是一样的f(xxx *a)
吗?sizeof(someFunction)
是否定义?