C計畫 03 陣列指標 與 指標陣列

2021-10-09 19:01:53 字數 1151 閱讀 8173

//指標陣列

char

* p[2]

=;for(

int i =

0; i <

2; i++

)

根據c語言運算優先等級表,指標也是乙個變數,這裡的 char* p[2] 指的是定義了乙個一維陣列,陣列裡存放的是指標變數,而指標指向的則是後面字串的首個字元的位址。後面printf()中,列印字串只需要給出首個字元地位址即可。

int temp1[2]

=;int* sp1 = temp1;

//一維陣列指標,這個指標,其實指向的是乙個變數,指標的值是這個變數的位址

for(

int i =

0; i <

2; i++

)

這裡是只一維陣列指標,這個指標,其實指向的是乙個變數,指標的值是這個變數的位址。

int

(*sp2)[2

];//指向陣列的指標,指標裡儲存的是這個陣列的位址,所以對於一維陣列,應該 &temp

sp2 =

&temp1;

for(

int i =

0; i <

2; i++

)

這裡由於()的作用,是定義了乙個指向陣列的指標指標裡儲存的是這個陣列的位址,所以對於一維陣列,應該 &temp

int temp2[2]

[3]=

,};int

(*sp3)[3

];//指向陣列的指標,指標裡儲存的是這個陣列的位址,所以對於二維陣列,陣列名就是陣列的位址

sp3 = temp2;

for(

int i =

0; i <

2; i++

)printf

("\n");

}

這裡定義的是指向陣列的指標,指標裡儲存的是這個陣列的位址,所以對於二維陣列,陣列名就是陣列的位址。對於高維陣列指標,有前輩說用處不多,這裡就當時頭腦風暴吧。

總之就是要分請宣告的不同情況,明白指向的目標是什麼。

論陣列與指標 03 陣列指標 步長

這裡a是個二維陣列的陣列名,相當於乙個二級指標常量 二維陣列名與二級指標毫無關係 初學者常常混淆 p是乙個指標變數,它指向包含5個int元素的一維陣列,此時p的增量以它所指向的一維陣列長度為單位 p i 是一維陣列a i 0 的位址 p 2 3表示a 2 3 位址 第一行為0行,第一列為0列 p 2...

C 指標陣列與陣列指標

說實話,c語言真的很讓人蛋疼,它不像物件導向的語言,我們重心在設計程式上。而使用c語言,你不僅要考慮程式的設計,你還要考慮很多他的使用細節,不然一不小心你怎麼死的都不知道。但是,個人感覺,c語言的魅力是其他任何語言都比不了的!繼續看。陣列指標 範例 typedef int aint5 5 typed...

C 指標陣列與陣列指標

陣列指標 也稱行指標 陣列指標 a pointer to an array,即指向陣列的指標 定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣...