民國102年 第3梯次 儀表電子甲級 學科
第36題
在C 語言中,a [ 10 ] 是10 個整數的陣列,下列何者的指標( p o i n t e r ) 使用有誤?
題目
在C 語言中,a [ 10 ] 是10 個整數的陣列,下列何者的指標( p o i n t e r ) 使用有誤?
- (1) * a
- (2) * ( a + 1 )
- (3) * a [ 1 ]
- (4) * a +
官方答案
(3) * a [ 1 ]
解析
在 C 語言中,陣列名稱 a 可視為指向首元素 a[0] 的常數指標,因此 *a 即 a[0]、*(a+1) 即 a[1],皆為合法取值。由於 * 的優先順序高於 +,*a+1 等於 (*a)+1,即 a[0] 加 1,也是合法運算式。反觀 a[1] 本身是整數值而非位址,*a[1] 等於對整數做解參考,型別不符、無法編譯,是錯誤的指標用法。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。