把這本書燒了,把這本書燒了,把這本書燒了。char是字元型別,用於表示字元,一般取值範圍可能是-128~127也可能是0~255,由編譯器決定。因為表示字元,所以數值並不重要,所以取值範圍編譯器怎麼方便怎麼來,並不是確定的。signed/unsigned用於修飾整數型別,分別表示有符號和無符號。當你只需要正整數的時候就可以用無符號型別,否則就要用帶符號型別。整數型別分為幾級,由低到高char, short, int, long, long long,高一級的型別尺寸需要大於或等於低一級的尺寸。C/C++的規則為了給編譯器儘可能多的自由度,並沒明確規定這些型別的長度。(題外話,所以這些型別不具有可移植性)現在日常開發的大多數環境中char是8位,short是16位,int是32位,long long是64位。long有可能是32位也有可能是64位。大的型別能表示數的範圍比小的型別大。但是大的型別佔用空間也大,如果不需要那麼大範圍可能造成空間浪費。另外int以外的型別在運算過程中有時候可能會有額外的成本,特別是大於int的型別。另外注意對於char以外的型別,預設是signed的。char不是。
unsigned:無符號/無正負(型別) signed:有符號/有正負(型別)兩者的取值範圍不同unsigned範圍要大很多
把這本書燒了,把這本書燒了,把這本書燒了。char是字元型別,用於表示字元,一般取值範圍可能是-128~127也可能是0~255,由編譯器決定。因為表示字元,所以數值並不重要,所以取值範圍編譯器怎麼方便怎麼來,並不是確定的。signed/unsigned用於修飾整數型別,分別表示有符號和無符號。當你只需要正整數的時候就可以用無符號型別,否則就要用帶符號型別。整數型別分為幾級,由低到高char, short, int, long, long long,高一級的型別尺寸需要大於或等於低一級的尺寸。C/C++的規則為了給編譯器儘可能多的自由度,並沒明確規定這些型別的長度。(題外話,所以這些型別不具有可移植性)現在日常開發的大多數環境中char是8位,short是16位,int是32位,long long是64位。long有可能是32位也有可能是64位。大的型別能表示數的範圍比小的型別大。但是大的型別佔用空間也大,如果不需要那麼大範圍可能造成空間浪費。另外int以外的型別在運算過程中有時候可能會有額外的成本,特別是大於int的型別。另外注意對於char以外的型別,預設是signed的。char不是。