免費開始練習
統測 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語言裡,最容易混淆卻也最關鍵的指標運算與陣列偏移技巧。這可不是一般人能輕易看穿的詭計喔!

真相只有一個!

▼ 還有更多解析內容

升級 VIP 解鎖