地方政府公務人員四等-電子工程類科計算機概要113 年第 27 題單選題考點:union取最大考點:誤認為struct
考慮下列 C 語言程式的宣告
union allType {
char character;
int integer;
float real;
double doubleNum;
};
如果 sizeof(char) 是 1, sizeof(int) 是 4, sizeof(float) 是 4, sizeof(double) 是 8, sizeof(allType) 是多少?
A正確答案
union 所有成員共用同一塊記憶體,大小取決於最大成員,故為 double 的 8 bytes。
逐選項解析
A8union取最大✓ 正確
正解。union 中所有成員共享同一塊記憶體空間,大小由最大成員決定。最大成員為 double (8 bytes),故 sizeof(allType) = 8。
B16誤認為struct✕ 易錯陷阱
錯誤。16 是誤把 union 當成 struct 並做 8-byte 對齊後加總的結果,但 union 不是加總而是共用空間。
立即註冊,看完整詳解
這題的完整詳解,註冊就能看 · 每天 2 題免費
精選詳解- 完整逐選項解析
- 秒殺解題技巧與破題關鍵
- 關鍵知識表整理
- 陷阱與易錯提醒
- 同考點歷屆題庫連續刷題與錯題本