免費開始練習
地特三等申論題 105年 [資訊處理] 程式語言

第 一 題

📖 題組:
C 語言宣告一陣列如 int *x[5]={"BENZ", "AUDI", "LEXUS", "APPLE", "BMW"};試說明下列指標運算的結果為何?(每小題 3 分,共 9 分) (一) *(x+1) (二) *(x+1)+1 (三) **(x+1)
📝 此題為申論題,共 3 小題

小題 (一)

*(x+1)

思路引導 VIP

看到指標與陣列混合的考題,首要原則是將指標運算轉換為陣列索引:*(x+n) 等同於 x[n]。接著找出陣列中對應位置的元素,並釐清該元素所代表的意義(例如字串的起始位址)。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用陣列與指標的等價關係,將指標算術 *(x+i) 轉換為陣列索引 x[i] 來求解。 【詳解】 已知:題幹宣告 x[5] 是一個指標陣列,其元素依序儲存了 5 個字串常數的起始位址(註:雖宣告為 int *,但實質上存入字串位址,此為考題常見之簡化表示,應視為字串指標)。

小題 (二)

*(x+1)+1

思路引導 VIP

先辨別 x 是儲存字串常數位址的指標陣列。依序解析:x+1 指向陣列第二個元素,(x+1) 取得指向 "AUDI" 的指標,最後 +1 進行指標位移。需注意題目宣告為 int 可能為出題筆誤,實務作答應以 char* 邏輯為主並補充嚴格型態的說明以確保拿分。

🤖
AI 詳解
AI 專屬家教

【解題思路】運用指標陣列與記憶體位移規則,採逐步拆解法推導指標最終指向的位址。 【詳解】 已知:陣列 x 儲存了 5 個字串常數的記憶體位址。雖然題目宣告為 int *x[5],但在指標陣列儲存字串的考題中,多為 char *x[5] 之筆誤,故此處分別就「預期考點」與「嚴格語法」進行解析。

小題 (三)

**(x+1)

思路引導 VIP

考生看到此題應先釐清陣列名稱作為指標的特性,以及字串陣列的記憶體結構。利用 *(x+i) 等同於 x[i] 的指標運算法則,由內而外逐步對指標進行解提取(dereference),即可推導出最終指向的記憶體內容。

🤖
AI 詳解
AI 專屬家教

【解題思路】利用陣列名稱與指標的等價關係 *(x+i) == x[i],逐步解析雙重指標的解提取(dereference)過程。 【詳解】 已知:

📝 同份考卷的其他題目

查看 105年[資訊處理] 程式語言 全題

升級 VIP 解鎖