sizeof在不同平台的值并不一样,大家注意下:
/*Ubuntu12_x64环境下:sizeof()返回值类型是long unsigned intsizeof(long) = 8sizeof(void) = 1sizeof(void*) = 8Win7_x64, VC2010环境下(目标机器: 32位):sizeof(long) = 4sizeof(void) = 0sizeof(void*) = 4Win7_x64, VC2010环境下(目标机器: 64位):sizeof(long) = 4sizeof(void) = 0sizeof(void*) = 8
*/#include <string.h>
#include <stdio.h>int main()
{printf("%d\n", sizeof(int)); // 4printf("%lu\n", sizeof(long));printf("%lu\n", sizeof(float)); // 4printf("%lu\n", sizeof(double)); // 8printf("%lu\n", sizeof(long long)); // 8printf("%lu\n", sizeof(void));printf("%lu\n", sizeof(void*));return 0;
}