[FAQ集] 基本型別:多種整數類型別,如何選?
ptt.cc BBS 站 C_and_CPP 板 FAQ (0.1版)
基本型別的問題
Q: C/C++整數類的型別那麼多種,如何選擇?
A: (本題答案乃是參考 comp.lang.c FAQ 1.1則)
因為在所有的整數類型別中,int 是對機器來說最「自然」的型別,所以若
無其他考量,需要整數時,用 int可以獲得較小的程式碼與較好的執行效率。
如果有記憶空間佔用太多的顧慮,例如要用到一個元素個數極多的陣列,才
考慮改用較小的整數型別,例如 short, 甚至 unsigned char。當然,所選
型別必須要能充份涵蓋所要表示的數值範圍。在 32位元 int 平台上(目前
最常見的),若要更大的整數,可考慮用 long long 或unsigned long long,
但 long long只有 C99 才將它納入標準。參考下一則。
float 與 double 的抉擇亦然。對機器來說,double 比 float 還要來得
「自然」,但 double 佔的記憶體空間比 float 大。
如果需要長度固定的整數類型別(同樣是 int,在不同平台長度不同),那
就要用 typedef 的方式來定義。當要將程式移植到不同平台時,只要修改
typedef 的定義就可。MS VC++ 定義了許多這種固定長度的整數類型別。
by Khoguan Phuann
-----------------------------------
敬請指正錯誤,或提出更合適的答案。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.208.168
※ 編輯: khoguan 來自: 220.130.208.168 (09/19 09:10)
推
09/19 09:48, , 1F
09/19 09:48, 1F
推
09/19 11:13, , 2F
09/19 11:13, 2F
→
09/19 11:14, , 3F
09/19 11:14, 3F
推
06/26 18:20, , 4F
06/26 18:20, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章