指向數組元素的指針

  • 2017-09-11
  • 64

西安網站建設 指向數組元素的指針

一個數組是由連續的一塊內存單元組成的。數組名就是這塊連續內存單元的首地址。一個數組也是由各個數組元素(下標變量)組成的。每個數組元素按其類型不同占有幾個連續的內存單元。一個數組元素的首地址也是指它所占有的幾個內存單元的首地址。

定義一個指向數組元素的指針變量的方法,與以前介紹的指針變量相同。

例如:

    int a[10];   /*定義a為包含10個整型數據的數組*/

int *p;      /*定義p為指向整型變量的指針*/

應當注意,因為數組為int型,所以指針變量也應為指向int型的指針變量。下麵是對指針變量賦值:

p=&a[0];

a[0]元素的地址賦給指針變量p。也就是說,p指向a數組的第0號元素。

 

C語言規定,數組名代表數組的首地址,也就是第0號元素的地址。因此,下麵兩個語句等價:

p=&a[0];

p=a;

在定義指針變量時可以賦給初值:

int *p=&a[0];

它等效於:

int *p;

p=&a[0];

當然定義時也可以寫成:

    int *p=a;

從圖中AG娛樂可以看出有以下關係:

    p,a,&a[0]均指向同一單元,它們是數組a的首地址,也是0 號元素a[0]的首地址。應該說明的是p是變量,而a,&a[0]都是常量。在編程時應予以注意。

數組指針變量說明的一般形式為:

類型說明符  *指針變量名;

其中類型說明符表示所指數組的類型。從一般形式可以看出指向數組的指針變量和指向普通變量的指針變量的說明是相同的。

西安網站建設

指向數組元素的指針——西安做網站-www.xgktgj.com