64位系统上指针是8字节吗
今天发现在64位系统上 char* a; sizeof(a)结果是4. 上网一搜,好多人给出的结论都是32位4字节,64位8字节.
再三查找,终于有大神说了,这个是跟编译器有关的.因为我用的是32位的VS编译器,所以是4字节.
64位系统上指针就是8字节,只不过sizeof的运算是在本地,如果你在32位机器上使用的话,得到的树枝就是4
估计是编译选项里的平台是Win32 也就是在64位系统运行的是32位的程序
指针是无论如何都是8字节的,这又不是16位时代分FAR和NEAR。楼上说了,你肯定是编译了Win32位程序,结果在WOW64下面运行了。
|