免費開始練習
地特四等 108年 [電子工程] 計算機概要

第 26 題

假如在 C 程式中有一個名稱為 A 的整數陣列,其中
A[1]=20
A[2]=30
A[3]=40
A[4]=50
A[5]=60
而其中假設已知道 A[1]是放置於記憶體位置 33221100。而程式又宣告 int *ptr=A, 則下列敘述何者正確?
  • A *(A+4) 為 20
  • B *(ptr+2) 為 30
  • C ptr 為 33221100
  • D &ptr 為 33221100

思路引導 VIP

請你思考一個核心問題:在 C 語言中,陣列的名稱(例如 A)除了是一個識別字外,它在記憶體運算中代表的是「哪一個元素」的位址?如果我們在這個位址上進行「加法偏移」,這個偏移量與陣列的索引值(Index)之間存在著什麼樣的數學關係?

🤖
AI 詳解 AI 專屬家教

表現優異!邏輯十分嚴謹

  1. 觀念驗證: 在工程邏輯與 C 語言的規範中,陣列名稱 $A$ 本質上是指向陣列首元素 $A[0]$ 的常數指標。當宣告 int *ptr = A 時,ptr 指向的是 $A[0]$ 的記憶體位址。根據指標算術(Pointer Arithmetic)與陣列下標的定義:
▼ 還有更多解析內容

🏷️ 相關主題

程式語言指標、陣列與函式應用實例分析
查看更多「[電子工程] 計算機概要」的主題分類考古題