示例程序 1.int在typedef第一行注释:
typedef int (*p)(); //Statement 1
int foo()
{
return 0;
}
int main()
{ int c;
p q=foo;
c=(*q)();
printf("%d",c);
return 0;
}
Output:0
示例程序 2. 都一样,但int第一行没有:
typedef (*p)(); //Statement 1
int foo()
{
return 0;
}
int main()
{ int c;
p q=foo;
c=(*q)();
printf("%d",c);
return 0;
}
Output:0
两种情况下的输出相同。它不会产生任何错误。为什么?