(C/C++) 32bit \ 64bit 記憶體空間

char str[] = "Hello" ;
char *p = str ;
printf("sizeof(str) = %d\n", sizeof(str));
printf("sizeof(p) = %d\n", sizeof(p));
printf("sizeof(short) = %d\n", sizeof(short));
printf("sizeof(int) = %d\n", sizeof(int));
printf("sizeof(long) = %d\n", sizeof(long));
printf("sizeof(long long) = %d\n\n", sizeof(long long));
printf("sizeof(size_t) = %d\n", sizeof(size_t));
printf("sizeof(double) = %d\n", sizeof(double));
printf("sizeof(long double) = %d\n", sizeof(long double));

64 bit :

sizeof(str)       = 6
sizeof(p)         = 8
sizeof(short)     = 2
sizeof(int)       = 4
sizeof(long)      = 8
sizeof(long long) = 8
sizeof(size_t)    = 8
sizeof(double)    = 8
sizeof(long double) = 16

32 bit :

sizeof(str)       = 6
sizeof(p)         = 4
sizeof(short)     = 2
sizeof(int)       = 4
sizeof(long)      = 4      
sizeof(long long) = 8
sizeof(size_t)    = 4
sizeof(double)    = 8
sizeof(long double) = 12

 

posted on 2019-07-15 22:20  OO程式猿  阅读(452)  评论(0编辑  收藏  举报

导航