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

C語言指標與陣列:指向陣列元素的指標完整應用

     編輯:C 語言基礎

指向陣列元素的指標宣告與初始化

int a[10], *p;
p = &a[0];  // 指向首元素
p = a;      // 等價寫法,陣列名即首元素位址

透過指標存取陣列元素

利用位址運算規則:

  • a + i 為 a[i] 位址
  • *(a + i) 為 a[i] 值
  • p + i、*(p + i) 同理

指標下標語法

指標變數可直接使用下標:p[i] ≡ *(p + i)。編譯器自動處理型別大小縮放。

實用模式:指標走訪陣列

int a[10] = {1,2,3,4,5,6,7,8,9,10};
int *p = a;
for (int i = 0; i < 10; i++)
    printf("%d ", *p++);  // 依序印出 1 到 10

指標遞增 p++ 自動移動到下一個 int 元素,比下標存取更接近機器碼,效率略高。

指標與多維陣列

二維陣列 int a[3][4] 中,a 型別為 int (*)[4](指向含 4 個 int 陣列的指標)。a[i] 等價 *(a + i),型別轉為 int* 指向該列首元素。指標操作多維陣列需注意型別匹配。

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