Q49.
下列何者為標準C 語言中,可以用來取得資料型態或變數所占用的位元數?
數位電子 · 乙級 · 程式語言 · Q49
難易度分析
2 / 5
此題屬於基礎語法辨識,主要考察對 C 語言內建運算子的精確記憶。選項中包含了多個在其他程式語言中極為常見、但並不屬於標準 C 語言語法或功能的名稱,需考生具備區分不同語言語法特性的能力。
正確答案:②sizeof()
② sizeof():sizeof() 是標準 C 語言的編譯期運算子,可在編譯階段計算資料型態或變數所占用的位元組數(bytes),適用於基本型別、陣列、結構體等,是 C 語言記憶體管理的核心工具。
錯誤選項解析
- ① size():size() 並非標準 C 語言的內建函式或運算子,此名稱常見於 C++ STL 容器(如 `std::vector::size()`)或其他高階語言,在標準 C 中無法使用。
- ③ typeof():typeof() 並非標準 C 語言的關鍵字,此為 GCC 編譯器的擴充功能(extension)或常見於其他語言(如 Python、JavaScript),用於查詢變數的型別而非占用空間。
- ④ len():len() 不是標準 C 語言的函式,此名稱常見於 Python(`len()`)、Go 等高階語言用於取得集合長度,C 語言中字串長度需使用 `strlen()` 函式。
Learning Tip
"本題核心考點為 C 語言運算子與函式的區別。`sizeof` 是編譯期運算子而非函式,其結果在編譯時即已確定。常見陷阱為將其他語言的長度函式(如 `len()`、`size()`)與 C 語言混淆,另需注意 `sizeof` 回傳單位為位元組(byte)而非位元(bit),且對陣列使用時需區分退化為指標的情況。"
學員答題分佈
①size()0%
②sizeof()0%
③typeof()0%
④len()0%
此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!