32位系统,同理,判顷御他的一个地址占32位二进制空间,sizeof(double *)==sizeof(int *)==sizeof(char *)==32/8==4
其实明白了两个系统的寻址原理掘岩就能明白,大体就是这个原因。
地址跟系统有关,但是基本数据类型占的大小是由C语言本身决定。
32位和64位系统中,编译器为了相互兼睁此容枯察,所以指针都是4个字节长度。
字节(Byte /bait/ n. [C])是没早茄计算机信息技术用于计量存储容量的一种计量单位,也表示一些计算机编程语言中的数据类型和语言字符。
32位上是4字节64位上是8字节
"到目前为此(止)我还没有发现64位指针的VC。包括VC2005"
没有发现并不代表就则改纳没有.
http://msdn2.microsoft.com/zh-cn/library/94z15h2c(VS.80).aspx
标量类型 C 数据类歼乱型 存储区大孙没小(以字节为单位)推荐对齐方式
POINTER * 8 Quadword
http://msdn2.microsoft.com/zh-cn/library/x4d2c09s(VS.80).aspx
http://msdn2.microsoft.com/zh-cn/library/h2k70f3s(VS.80).aspx
http://msdn2.microsoft.com/en-us/library/h2k70f3s(VS.80).aspx
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)