測量各種數據類型的長度以及typedf關鍵字對數據類型的作用

32位處理器存儲單位 
bit (位) 
字節 = 8 bit 
半字 = 2 個字節 = 16 bit 
字 = 4 個字節 = 32 bit 
字節長度: 變量在內存中所佔的存儲空間的長度 
數據類型 字節長度 
char 1 
short 2 
int 4 
long 4 
float 4 
double 8 
指針 4 
指針類型爲什麼是4個字節? 
因爲所有的指針保存的都是地址,在操作系統中,地址是固定長度的,由操作系統的位數決 定,比如32位的系統是4個字節,64位的系統是8個字節。

strlen 和 sizeof 的區別 
sizeof是運算符而 strlen 是一個函數。 
sizeof測量的是一個變量或則數據類型的字節長度。 
sizeof有兩種寫法:測量數據類型時必須給數據類型名加括號 
sizeof(變量或數據類型名); 
sizeof 變量 
注意:測量數組長度時,若數組定義了大小,則該數組佔的字節數爲定義的大小,若未定義大小,則數組佔的字節數爲字符串中的字符+1(注意在sizeof中‘\0’要算進去) 
雖然都是統計字符串的個數,但是sizeof 統計的字符中包括‘\0’,strlen 是不包括的 
有符號和無符號的範圍計算 
unsigned char 
0000 0000 = 0 (最小) 
1111 1111 = 255(最大) 
簡單的計算方法 : 1111 1111 = 255 
+0000 0001 = 1 
—————– 10000 0000 256 
signed char 
0+ 1- 
0 000 0000 = 0 
0 111 1111 =127 
1 000 0000 = -128 
1 111 1111 = -1 
計算機最後保存的就是補碼 
正數的原碼就是補碼 
負數的補碼就是負數的絕對值原碼取反加1 
知道負數的補碼怎麼求原值? 
把補碼取反再加一。 
計算機中不做減法,用加法代替。 
‘a’ = 97 
0 —> ‘\0’ 
計算的時候,是補碼之間的計算!!!!! 
typedf關鍵字: 用typedf給變量重命名 typedf char Char 
好處 : 提高代碼的移植性 對代碼起保護作用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章