我是否保证所有指针的字节大小相同?

时间:2013-05-10 12:11:14

标签: c++ c pointers architecture sizeof

在C和C ++中,我是否能保证所有指针的大小都相同,或者换句话说:

sizeof(void*) = sizeof(char*) = sizeof(int*) = ...

还是有一些不合适的系统?

1 个答案:

答案 0 :(得分:0)

没有。标准中无法保证。

某些系统有一些例外。虽然它在许多典型系统中已得到修复,但依赖于该系统的体系结构。例如,在32位系统中,指针是4个字节。

顺便说一下,uintptr_t可以保存指针(也许我们可以假设它在当前系统中具有指针的最大大小):

  

uintptr_t能够持有指针的无符号整数类型