首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言指標進階:位址運算、指標與陣列的深度關聯

     編輯:C 語言基礎

指標運算規則

  1. 比較:僅當兩指標指向同一物件(如同一陣列)時有意義。p == q 表示指向同一元素,p < q 表示 p 指向的元素在 q 之前。
  2. 加減整數:p + n 指向第 n 個後續元素。編譯器依元素大小自動縮放:char=1、int/short=2、long/float=4、double=8 位元組。結構/聯同理。
  3. 指標相減:p - q 兩指標指向同一陣列時,傳回中間元素個數(已縮放)。

指標與陣列的等價關係

陣列名 a 即為 &a[0](首元素位址)。以下完全等價:

指標表示法陣列表示法意義
p + i / a + i&a[i]第 i 元素位址
*(p + i) / *(a + i)a[i]第 i 元素值
p[i]*(p + i)指標亦可用下標存取

實例:負下標存取

int a[10], *p = a + 5;  // p 指向 a[5]
p[2]   // 等同 *(p+2) → a[7]
p[-3]  // 等同 *(p-3) → a[2]

指標下標可為負值,只要不超出陣列邊界。這展示指標運算的靈活性與陣列下標的本質一致性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved