LONGEPASS
Q35.

在C 程式中,定義一個struct 如下,若要將Part 定義為part 的別名,下列敘述何者正確?電腦軟體設計共同科目 乙級 第 35 題 題目 圖片

電腦軟體設計共同科目 · 乙級 · Q35

難易度分析

2 / 5

本題考查對型別別名定義語法的精確掌握,需區分定義順序以及辨析預處理指令與型別定義的差異,並注意程式碼中的符號細節。

正確答案:②typedef struct part Part;

② typedef struct part Part;:typedef 關鍵字用於建立型別別名,語法為 `typedef 原有型別 新別名;`,此處將 `struct part` 定義別名為 `Part`,符合 C 語言規範。

錯誤選項解析

  • ① define Part part:#define 是前置處理器指令,用於巨集替換而非型別別名,且語法應為 `#define` 而非 `define`。此寫法無法建立結構型別的別名。
  • ③ typedef struct Part part;:此寫法將 `struct Part` 的別名設為 `part`,方向與題目要求相反。題意要求將 `Part` 作為 `part` 的別名,而非反向操作。
  • ④ typedef part Part;:`part` 尚未被定義為獨立型別,不能直接作為 typedef 的來源;且句末使用全形分號(;)而非半形分號(;),會造成編譯錯誤。
Learning Tip

"本題核心考點為 typedef 語法順序:`typedef 原始型別 新名稱;`。常考陷阱包含混淆 `#define` 與 `typedef` 的差異(前者為文字替換、後者為型別別名),以及注意分號必須為半形符號。實務上建議統一使用 typedef 處理結構型別別名,以提升程式可讀性與型別安全性。"

學員答題分佈

①define Part part0%
②typedef struct part Part;0%
③typedef struct Part part;0%
④typedef part Part;0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目