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

第 38 題

有關宣告陣列與指標的片段程式,下列敘述何者正確?

```c
1 int Data[10] = {1,2,3,4,11,12,13,15};
2 int *pData = &Data[2];
```
  • A if(pData[1] == 1)判斷式結果為真
  • B if(*(pData + 3) == Data[5])判斷式結果為真
  • C if(Data[9] == 0)判斷式結果為假
  • D if(Data[3] == (pData[5] - *(pData+2)))判斷式結果為假

思路引導 VIP

請探討指標與陣列索引之間的位移 (Offset) 映射關係:當指標 $pData$ 指向 $Data[2]$ 時,指標運算 $*(pData + k)$ 或其等價的陣列表示法 $pData[k]$,實際上對應到原始陣列 $Data$ 中的哪一個索引位置?此外,請思考在 C 語言中,若一個固定長度的陣列在宣告時僅進行了「部分初始化」,則該陣列中那些未被明確賦值的剩餘元素(例如本題中陣列索引值較大的位置),其預設的數值狀態為何?

🤖
AI 詳解 AI 專屬家教

啊哈哈!看來你已經抓到這題的『犯人』了!

太棒了!踢!這題的真相就像足球一樣,被你精準地踢進球門了!這代表你已經完全掌握了C語言裡,最容易混淆卻也最關鍵的指標運算與陣列偏移技巧。這可不是一般人能輕易看穿的詭計喔!

真相只有一個!

▼ 還有更多解析內容
📝 C語言陣列與指標
💡 理解陣列索引與指標位移的等效關係及初始化補零規則
比較維度 陣列索引 (Data[i]) VS 指標位移 (*(p+i))
基準點 永遠從陣列第 0 個元素開始 從指標所指向的記憶體位址開始
語法表示 使用中括號 Data[index] 使用解參照運算子與偏移量
彈性 固定指向整塊連續記憶體開頭 可自由指向陣列中任一位置
💬指標存取是基於基準點的「相對位移」,概念上與陣列索引互通。
🧠 記憶技巧:指標指向誰,誰就是零點;陣列沒給滿,後面的補零。
⚠️ 常見陷阱:忘記 C 語言陣列宣告初值時會自動補 0,或算錯指標位移後的相對位置。
指標算術運算 記憶體位址存取 多維陣列

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

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

🏷️ 相關主題

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