C Primer讀書筆記之基本內建型別

2021-06-17 21:21:39 字數 1174 閱讀 5595

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 下面...