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

C語言指標運算詳解:陣列指標、字串指標、函數指標與比較運算

     編輯:C 語言基礎

指標賦值運算形式

  1. 初始化賦值
  2. 變數位址賦給同類型指標:pa = &a;
  3. 指標互指:pb = pa;
  4. 陣列首址:pa = a; 或 pa = &a[0];
  5. 字串首址:pc = "C Language"; (實為字元陣列首址)
  6. 函數入口位址:int (*pf)(); pf = f;

指標加減運算 (僅限陣列指標)

pa + n 表示指標向後移動 n 個元素 (非位元組),編譯器依元素大小自動放大位址增量。

int a[5], *pa = a;
pa = pa + 2;  // pa 指向 a[2],位址增加 2*sizeof(int)

指標間運算

  • 減法:同一陣列的兩指標相減,得元素個數差。
    (pf1 - pf2) / sizeof(float)
  • 關係運算:比較同一陣列中元素相對位置。
    pf1 > pf2 表示 pf1 在較高位址。
  • 與 0 比較:p == 0 為空指標 (NULL),p != 0 為有效指標。

實務範例:找最大/最小值


int a,b,c, *pmax, *pmin;
scanf("%d%d%d", &a,&b,&c);
if (a>b) { pmax=&a; pmin=&b; }
else { pmax=&b; pmin=&a; }
if (c > *pmax) pmax = &c;
if (c < *pmin) pmin = &c;
printf("max=%d min=%d", *pmax, *pmin);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved