在C語言中,double、long、unsigned、int、char類型數據所占字節數


http://blog.csdn.net/lyl0625/article/details/7350045

============================

實在記不住,貼下來:

 

和機器字長及編譯器有關系:

所以,int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則(ANSI/ISO制訂的):

1 sizeof(short int)<=sizeof(int) 
2 sizeof(int)<=sizeof(long int) 
3 short int至少應為16位(2字節) 
4 long int至少應為32位。

unsigned 是無符號的意思。

例如:
16位編譯器

char :1個字節
char*(即指針變量): 2個字節
short int : 2個字節
int: 2個字節
unsigned int : 2個字節
float: 4個字節
double: 8個字節
long: 4個字節
long long: 8個字節
unsigned long: 4個字節

 

32位編譯器(看這里就行了,與16位機,64位機比較,粗體type為不同的,其余的都是相同)

char :1個字節
char*(即指針變量): 4個字節(32位的尋址空間是2^32, 即32個bit,也就是4個字節。同理64位編譯器)(16位機,32位機,64位機各不相同)
short int : 2個字節 int: 4個字節(16位機是2B,32位&64位是4B) unsigned int : 4個字節(16位機是2B,32位&64位是4B)
float: 4個字節 double: 8個字節
long: 4個字節(16位&32位是4B,64位是8B) long long: 8個字節 unsigned long: 4個字節(16&32位是4B,64位是8B)

 

64位編譯器

char :1個字節
char*(即指針變量): 8個字節
short int : 2個字節
int: 4個字節
unsigned int : 4個字節
float: 4個字節
double: 8個字節
long: 8個字節
long long: 8個字節
unsigned long: 8個字節

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM