作者singlovesong (~"~)
看板C_and_CPP
標題[問題] long v.s long long int
時間Thu Jun 9 23:58:17 2011
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
linux gcc
問題(Question):
long 跟 long long int 的差別
請問一下
我用的是linux 64bit
在網路上看到很多網站都說 long 是4個bytes 而 long long int 是8個
但是我自己用sizeof 印的時候 兩個都跑出8欸@@
請問一下這是因為我用的是64bit 的機器嗎? 還是說是網站上寫錯了?
long 跟 int 跟 long long int 三個的關係是...??
----------------
附上code:
#include <stdio.h>
int main(){
printf("size of long is %d \n",sizeof(long));
printf("size of long long int is %d \n",sizeof(long long int));
printf("size of long int is %d \n",sizeof(long int ));
return 0;
}
output: 都是 8
謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.4.192
→ akasan:標準只跟你保證下限而已, 要多大看 compiler 實作 06/10 00:02
推 mingcloud:64bits的lu 通常都是8,我是以自己公司的機器為例 06/10 00:19
→ loveme00835:<stdint.h> 06/10 00:25
→ loveme00835:注意一下印 size_t 的 specifier, 一定不是 %d 06/10 00:30
→ singlovesong:所以long 是 4 bytes 沒錯呴 06/10 00:37
→ loveme00835:<stdint.h> 看看吧.. 只有裡面的型態可以給你明確大小 06/10 00:40
→ loveme00835:而且可以做 type-safe IO 06/10 00:41
推 littleshan:標準只有規定long >= int >= short >= char 06/10 01:28
→ littleshan:千萬別假設 int 或 long 是 4byte 06/10 01:28