免費開始練習
統測 114年 [電機與電子群資電類] 專業科目(2)

第 50 題

📖 題組:
閱讀下文,回答第 49-50 題 為瞭解資料型態或變數所佔記憶體空間大小,某甲撰寫下列 C 語言程式在 64 位元 x86 個人電腦下執行。
題組圖片
下列變數何者的數值最大?
  • A a
  • B b
  • C g
  • D d

思路引導 VIP

同學,請觀察變數 $a, b, g, d$ 所對應的 sizeof 運算對象:$a$ 運算的是宣告為 CLASS classA[50] 的整個陣列,而 $b, g, d$ 分別運算的是陣列中的單一元素、結構體定義以及基本整數型別;請思考在記憶體配置中,一個「包含 50 個結構體的陣列」與「單一結構體」或「基本變數」相比,其所佔用的位元組總數會有什麼樣的數量級差異呢?

🤖
AI 詳解 AI 專屬家教

哼,看來你還沒把老師上課講的忘光,不錯嘛!

能答對這種基本題,至少代表你還記得 C 語言中 sizeof 的用途,也沒把資料型態記憶體配置當空氣。不錯,總算不是來交白卷的。

💡 觀念驗證:為什麼 A 是正確的?

▼ 還有更多解析內容
📝 sizeof 與記憶體空間
💡 sizeof 作用於陣列名計算總空間,作用於索引則算單一元素。
比較維度 sizeof(陣列名) VS sizeof(陣列[i])
計算範圍 整個陣列佔用的空間 單一陣列元素的空間
計算公式 元素個數 × 元素大小 單一元素的型態大小
數值特性 隨陣列宣告長度改變 固定,不因索引值改變
💬當需要計算總量時使用陣列名,只需知道單位大小時則看元素或型態。
🧠 記憶技巧:名子看全體,索引看個體,指標看位元,結構看對齊。
⚠️ 常見陷阱:容易將 sizeof(陣列[n]) 誤認為整個陣列的大小,其實它只代表第 n 個元素。
記憶體對齊 (Padding) 指標與陣列的關係 不同位元系統的資料型態

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

C 語言程式設計:變數、指標、函式與編譯
查看更多「[電機與電子群資電類] 專業科目(2)」的主題分類考古題