看板 C_and_CPP 關於我們 聯絡資訊
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)
allall:所謂"自然"是指? 不太瞭解 > < 自然耶尚好嗎 09/19 09:48
FRAXIS:C語言有定義整數型態的容量下限與大小關係 09/19 11:13
FRAXIS:這也可以說明一下 09/19 11:14
s213895:借轉 06/26 18:20