使用32位编译器的32位机器中C指针的大小是多少?
使用32位编译器的64位机器中C指针的大小是多少?
答案 0 :(得分:6)
如果64位操作系统能够运行32位应用程序(大多数是),则机器不相关;它取决于您创建的可执行文件的类型(-m32
等。)。
您可以通过编译并运行以下代码来自行回答:
#include <stdio.h>
int main(int argc, const char **argv)
{
printf("Pointer size is %u bytes\n", (unsigned)sizeof(void *));
return 0;
}
答案是4(32位)。