sizeof--32位和64位操作系统的区别

   sizeof是C/C++中的一个操作符(operator),简单的说其作用就是返回一个对象或者类型所占的内存字节数。

64位对比32位,最主要的区别就是long和指针的字节变成8了;及其size_t等定义类型也为8字节;

运行结果如下:(分别用蓝色和红色标记了两者的差异)

——————————————————————————

机器平台:X86_64 处理器

操作系统:Red Hat 4.1.2-14

编译器: gcc version 4.1.2 20070626

Size of char is: 1

Size of unsigned char is: 1

Size of signed char is: 1

Size of int is: 4

Size of short is: 2

Size of long is: 8

Size of long int is: 8

Size of signed int is: 4

Size of unsigned int is: 4

Size of unsigned long int is: 8

Size of long long int is: 8

Size of unsigned long long is: 8

Size of float is: 4

Size of double is: 8

Size of long double is: 16

Size of (void *) is: 8

Size of (char *) is: 8

Size of (int *) is: 8

Size of (long *) is: 8

Size of (long long *) is: 8

Size of (float *) is: 8

Size of (double *) is: 8

——————————————————————————

机器平台: X86_32 处理器

操作系统: Windows XP SP2

编译器: VS2005自带的C++编译器

Size of char is: 1

Size of unsigned char is: 1

Size of signed char is: 1

Size of int is: 4

Size of short is: 2

Size of long is: 4

Size of long int is: 4

Size of signed int is: 4

Size of unsigned int is: 4

Size of unsigned long int is: 4

Size of long long int is: 8

Size of unsigned long long is: 8

Size of float is: 4

Size of double is: 8

Size of long double is: 8

Size of (void *) is: 4

Size of (char *) is: 4

Size of (int *) is: 4

Size of (long *) is: 4

Size of (long long *) is: 4

Size of (float *) is: 4

Size of (double *) is: 4
参考二:

表格形式:32位机器下面
sizeof--32位和64位操作系统的区别转载自:http://blog.sina.com.cn/s/blog_4a1648c50100tabc.html