c++ 內建型別見下表 型別
含義儲存空間
bool
布林型------
char
字元型8位
wchar_t
寬字元型
16位short
短整數16位
int整數
32位long
長整數32位
float
單精度浮點型
32位(7位有效位)
double
雙精度浮點型
64位(15位有效位)
long double
擴充套件精度浮點型
19位有效位
注:很多態別的儲存空間也隨著機器的不同而不同。
一.整型
表示整數、字元、和布林值的算術型別合稱為整型。
1.字元型
其中字元型又分為兩種,char和wchar_t ,由於char 只能表示有限的255個字元,而世界上不同國家語言的不同,如中文和日語,所以這些字元的總個數遠遠超過了255,所以引入了wchar 來儲存 更多的字元。
2.整型值
short、int、long都表示整型值,但儲存空間不一樣,所以表示的大小也不一樣。一般short佔半個機器字長(乙個機器字長等於4個位元組),int 佔乙個機器字長,long 一般佔1個或者兩個機器字長。
其中整型又分為有符號和無符號。如果某機器上short 型別佔16位,那麼可以賦給有符號短整型的最大值為2的15次方-1,無符號短整型的最大值為2的16次方-1;當給乙個16位的無符號短整型(unsigned short)物件賦值100000是,賦的值是多少呢?我們可以拿100000對65536求餘得到34464.
注意:整型運算中,當碰到用32位表示的int 型別和用64位表示的long 型別面臨選擇時一定注意,在int 能保證範圍的情況下一定不要用long,因為用long進行計算所花的成本遠遠高於int
3.浮點型
浮點型分為float、double、long double.一般用32位來表示float ,用64位來表示double,用96位或者128位來表示long double.
在float 型別中隱式的精度損失是不能忽視的,而double型別的精度代價相對於float型別的精度代價可以忽略,而且有些機器上的double 模擬float 反而快一些。long double 型別提供的精度一般情況下都沒必要,而且還要消耗額外的代價。
C primer 讀書筆記
第2 章 變數和基本型別 1 變數直接初始化和變數 複製初始化 int ival 1024 direct initialization int ival 1024 copy initialization 初始化不是賦值 2 內建型別復 制初始化和直接初始化幾乎沒有區別 但 對類型別物件來 說,有些初...
C Primer讀書筆記
前些日子開始看 c primer 順便做一些筆記,既有書上的,也有自己理解的。因為剛學c 不久,筆下難免有謬誤之處,行文更是凌亂 所幸不是用來顯配的東西,發在linuxsir只是為了方便自己閱讀記憶,以防只顧上網忘了正事。書看了不到一半,所以大約才寫了一半,慢慢補充。const要注意的問題 1 下面...
C Primer讀書筆記
前些日子開始看 c primer 順便做一些筆記,既有書上的,也有自己理解的。因為剛學c 不久,筆下難免有謬誤之處,行文更是凌亂 所幸不是用來顯配的東西,發在linuxsir只是為了方便自己閱讀記憶,以防只顧上網忘了正事。書看了不到一半,所以大約才寫了一半,慢慢補充。const要注意的問題 1 下面...