1. 程式人生 > >C語言中關於指標的資料型別和指標運算的小結

C語言中關於指標的資料型別和指標運算的小結

  1. 有關指標的資料型別小結

記憶訣竅: 容易混淆的幾個int *p[n] 、int (*p)[n],其中int *p[n]是一個數組,陣列的元素是指標;int (*p)[n]是個指標,是一個指向二維陣列的指標或者分解為長度為n的一維陣列。 2. 指標運算小結
  • 指標變數加(減)一個整數:
    如 p++、p--、p+i、p-i 等,指的是將該指標的原值和它指向的變數所佔的記憶體管理單元位元組數加(減)。
  • 指標變數賦值:將一個變數的地址賦給一個指標變數
    如:p=&a;將變數a的地址賦值給p;
        p=array;將陣列array的首地址賦值給p;
      p=&array[i];將陣列array的第i個元素的地址賦值給p;
    p=max; max是已定義的函式,將max的入口地址賦值給p;
    p1=p2; p1和p2都是指標變數,將p2的值賦值給
    p1,也就是將p1指向到p2所指向的儲存空間。
  • 指標變數可以有空值,即該指標變數不指向任何變數: p=NULL;
  • 兩個指標可以相減:前提是兩個指標必須指向同一個儲存空間(比如指向同一個陣列的元素),則兩個指標只差就是兩個指標之間的元素個數。
指標在C語言是個重要的內容,目前對這個理解還是比較淺,只能整理出平時容易混淆的概念,多加區別!