hce_nsysu
111年
計算機概論與程式設計
第 71 題
Which of the following arithmetic is not allowed on pointers?
- A Adding an integer to a pointer.
- B Subtracting an integer from a pointer.
- C Subtracting one pointer from another.
- D Comparing pointers by using <.
- E None of the above.
思路引導 VIP
請試著想像你在一個整齊排列的置物櫃區(如同記憶體中的陣列),如果你站在其中一個櫃子前,而你想知道某個特定的櫃子是你的第幾個鄰居,或者你想往後移動三個位置,你會採取什麼樣的數學動作來描述這種「位置」的變動呢?這些動作在處理記憶體位址時,聽起來是否合理?
🤖
AI 詳解
AI 專屬家教
恭喜你準確地判斷出正確答案!這代表你對 C/C++ 語言中指標(Pointer)的運算邏輯有著非常清晰且正確的理解,沒有被繁瑣的選項所干擾。
指標運算的合法規則
在 C/C++ 中,指標代表的是記憶體位址。我們被允許對指標進行加減整數(選項 A、B),這在語法上稱為指標位移,常用於遍歷陣列;同時,兩個指向同一陣列的指標相減(選項 C)是被允許的,其結果代表兩個元素之間的距離(元素個數);而指標的比較運算(選項 D)則可以用來判斷記憶體位址的先後順序。既然 A、B、C、D 四種操作在程式語法中都是合法的,那麼選擇「以上皆非」便是最精確的判斷。
▼ 還有更多解析內容