1为 sizeof(main),它不是函数指针的大小。 它似乎与编译器有关。
#include<stdio.h> int bar() { printf("bar\n"); return 0;} int main() { printf("%lu\n", sizeof(*bar)); return 0; } 在debian7-64bit平台用clang3.0-6.2和gcc4.7.2编译运行均输出1,后来我尝试把sizeof(*bar)改成了sizeof(bar),仍然输出了1,但是改成&bar后输出变成了8. 我猜测sizeof...