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)
定義されているかどうか