C 語言

基本型別(char、int、short、long、float、double)

想像你有不同大小的盒子:放一個字母的小火柴盒、放計數用整數的中型盒、放帶小數點數字的大盒子。C 語言運作方式相同。在存放數值之前,你要先告訴電腦這是哪一「種」值,這個選擇決定了這個盒子佔用多少位元組記憶體,以及裡面的位元代表什麼意思。這些種類稱為型別,而 char、int、short、long、float、double 就是最常用的幾種。

char 佔一個位元組,通常是一個文字字元,例如字母 A。int 是你大部分時候會直接拿來用的預設整數。short 與 long 是刻意設計成範圍比 int 小或大的整數。float 與 double 用來存放可帶小數部分的數字,例如 3.14,其中 double 的精度大約是 float 的兩倍。一個誠實的重點:C 標準並未固定確切大小,它只保證最小範圍與大小順序(char 至少 8 位元;short 不寬於 int;int 不寬於 long)。在典型的現代桌機上 int 是 4 位元組、double 是 8 位元組,但你絕不該把這個假設寫死。

為什麼重要:你挑的型別同時影響正確性與成本。選太小的型別,數值可能溢位並悄悄環繞;在需要精確計數時卻用了浮點型別,就可能產生捨入誤差。當你真的需要已知寬度(比方說剛好 32 位元)時,C 提供像 int32_t 這樣的固定寬度名稱,而不是從 int 去猜。請用 sizeof 向編譯器詢問某型別在你機器上實際多大,而不是憑空假設。

char grade = 'A'; int apples = 42; long population = 8000000000L; double pi = 3.141592653589793;

四個變數對應四種基本型別。注意 L 後綴標示這是 long 的字面值,而 double 能保留比 float 多得多的圓周率位數。

標準並未保證大小,只保證最小範圍。假設 int 永遠是 4 位元組或 long 永遠是 8 位元組,是一個遲早爆發的可攜性錯誤——當確切大小重要時,請用 sizeof 或像 int32_t 的固定寬度型別。

又稱
fundamental typesbuilt-in types內建型別基本資料型別