【发布时间】:2015-02-08 19:35:40
【问题描述】:
当我写这段代码时:
#include <stdio.h>
int main()
{
printf("%p\n",main);
printf("%d\n",main);
return 0;
}
我的编译器显示了这个输出:
00401318
4199192
我很想知道实际打印的是什么。我用谷歌搜索了我的问题,但一无所获。 :(
提前致谢。
【问题讨论】:
-
第一个打印函数的地址,如果你的平台上
sizeof(void*)等于sizeof(int),第二个打印函数的地址,但它通常被认为是未定义的行为. -
@TheBigH,我不知道函数指针这个词。
-
并非巧合,0x401318 == 4199192。