首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为啥指针占8个字节?因为是64位CPU 吗

2013-11-26 
为什么指针占8个字节?因为是64位CPU 吗 ?我在 windows vc上写的代码char* p NULLsize_t sizeOfP size

为什么指针占8个字节?因为是64位CPU 吗 ?
我在 windows vc上写的代码
char* p = NULL;
size_t sizeOfP = sizeof(p);
size_t sizeOfStarP = sizeof(*p);

sizeOfP = 4, sizeOfStarP = 1 

我在 windows 上虚拟机虚拟了 macos objc写了同样的代码
sizeOfP = 8, sizeOfStarP = 1

指针大小不一样,因为我是64位 CPU 吗 ?
VC 上面不一样,是不是因为 VC 默认只能编译  32 位的程序 ?
[解决办法]
指针大小 由编译器的目标平台决定
和实际硬件情况关系不大
[解决办法]
64位cpu运行32位的程序可以运行的很好很好,而指针大小一样是4B
[解决办法]
你用32位编译器写的32位程序指针当然是32位也就是4字节的。。
如果是64位编译器64位程序,那指针就是8字节的

热点排行