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
好處 : 提高代碼的移植性 對代碼起保護作用。