陣列的表示

2021-07-27 07:19:10 字數 2177 閱讀 7248

int a[8], *pa = a;
表示方式01

2345

67下標變數

a[0]

a[1]

a[2]

a[3]

a[4]

a[5]

a[6]

a[7]

陣列名a(常量指標)

*a*(a+1)

*(a+2)

*(a+3)

*(a+4)

*(a+5)

*(a+6)

*(a+7)

指標變數pa(=a)

*pa*(pa+1)

*(pa+2)

*(pa+3)

*(pa+4)

*(pa+5)

*(pa+6)

*(pa+7)

int a[2][2][2], *pa = a[0][0];// 注意pa的賦值
表示方式01

2345

67下標變數

a[0][0][0]

a[0][0][1]

a[0][1][0]

a[0][1][1]

a[1][0][0]

a[1][0][1]

a[1][1][0]

a[1][1][1]

陣列名a(常量指標)

*a*(a+1)

*(a+2)

*(a+3)

*(a+4)

*(a+5)

*(a+6)

*(a+7)

指標變數pa(=a)

*pa*(pa+1)

*(pa+2)

*(pa+3)

*(pa+4)

*(pa+5)

*(pa+6)

*(pa+7)

注意多維陣列中的對應關係,如:a[1][1][1]等同於*(a+7)

以上出處:

1、陣列的下標法:直觀且容易理解如:

int a[5],i;

printf("input five numbers:");

for(i=0;i<5;i++)

for(i=0;i<5;i++)

2、陣列名首位址法(指標法):指標增1運算的執行效率很高,利用指標的增1運算實現指標的移動,省去了每尋找乙個陣列元素都要進行的指標算術運算,執行效率最高。

說明:陣列名有特殊含義,他代表存放陣列元素的連續儲存空間的首位址,即指向陣列中第乙個元素的常量指標,如"a+i"代表陣列中下標為i的元素a[i]的位址(&a[i]),而"*(a+i)"表示取出首位址元素後第i個元素的內容,即下標為i的元素"a[i]"。

int a[5],i;

printf("input five numbers:");

for(i=0;i<5;i++)

for(i=0;i<5;i++)

3、移動指標變數法:

說明:指向同一陣列中不同元素的指標的關係運算用於比較他們所指元素在陣列中的前後位置關係。指標的算術運算(如增1和減1)用於移動指標的指向,使其指向陣列中的其他元素。

注意:p++和p+1是本質不同的兩個操作。同:都對指標變數p進行加1運算 異:p+1不改變當前指標的指向,p仍指向原來指向的元素,p++講指標變數p向前移動乙個元素的位置,指向下一元素,p++是加上1*sizeof(基型別)個位元組。

int a[5],*p;

printf("input five numbers:");

for(p=a;p)     注意:p是指標變數,可以通過賦值操作改變他的值,使p指向陣列中其他元素,而陣列名a是乙個常量指標,代表乙個位址常

for(p=a;p)

4、指標下標法:

int a[5],  *p=null

,  i;

printf("input five numbers:");

p=a;

// p=a等價於p=&a[0]  //

for(i=0;i<5;i++)

p=a;

//   在再次迴圈開始前,確保指標p指向陣列首位址   //

for(i=0;i<5;i++)

以上出處:

雙親表示(陣列表示)的樹的基本操作

用陣列表示的雙親節點樹的基本操作更新版 樹的遍歷,樹的深度,葉子結點的計算,樹的構建 include include include include include include include using namespace std define max tree size 100 typede...

Java 棧的陣列表示

author yuanzhenhui serialdata 2006 9 10 version 1.0 棧介面public inte ce stackinte ce 自定義異常 class overflowexception extends exception class underflowexce...

多維陣列的順序表示

多維陣列節點,有四個元素 struct array 譬如乙個2 3的二維陣列,dim就等於二,行優先儲存,bounds 0 就為2,bounds 1 就為3。對於constants,constant i 就是第i 1層的陣列中每一元素 陣列 的大小。對於行主序的2 3的二維陣列來說,constant...