程式語言一 · 導覽投影片
→ / space 前進 ← 回 Esc 總覽 F 全螢幕int age = 20; 一行做三件事:
int → 配置 4 bytesage → 這塊空間的標籤= 20 → 把值寫進去age:20 (4 bytes)
| 型態 | 大小 | 用途 |
|---|---|---|
int | 4 B | 整數,最常用 ⭐ |
float | 4 B | 浮點,約 7 位有效數字 |
double | 8 B | 浮點,約 15 位,預設選擇 ⭐ |
char | 1 B | 字元(其實是 ASCII 整數) |
大小因平台而異,用 sizeof 查實際值。
int 4 bytes = 32 bits,範圍約 ±21 億(2³¹-1 = 2147483647)。
-2147483648,不會 crash 但值錯,是漏洞根源。需要大數用 long long。double a = 0.1 + 0.2; // 實際是 0.30000000000000004
a == 0.3 ? // 假!
浮點別用 == 比較,用容差:fabs(a - 0.3) < 1e-9。這是 IEEE 754 通病(Python/Java 也一樣)。
char 存 ASCII 整數:'A'=65、'0'=48。所以能算術:
'A' + 1 = 'B';'a' - 32 = 'A'c - '0' 把數字字元轉成整數'0'(字元 48)和 0(整數)完全不同。
int x; 是垃圾值、用它是未定義行為(UB),C 最常見 bug 之一。寫 int x = 0;。常數優先用 const(有型態檢查)勝過 #define(純文字替換)。