在c++中,陣列名其實是 乙個指向陣列第乙個元素的常量指標。
在之前講陣列的部落格(c++——一維陣列 )中提到過,陣列在記憶體中是線性結構。你可以想像有乙個羽毛球筒(就是裝羽毛球那個長長的盒子),假設裡面最多可以裝五個羽毛球,開口的一端是末端。那麼可以把這個模型看成是乙個陣列,陣列的大小為5(再大就裝不下了)。
假設我們宣告乙個陣列:
int list[6] = ;那麼這個陣列在記憶體中存放的方式為:
我們可以用指標的方式來訪問陣列的值,如:
c++允許指標加或者減乙個整數,表示指標包含的位址增加或減少,而變化的量為整數*指標的型別在記憶體空間分配的大小
如上面的例子,list陣列是int型別,所以指標list是int*型別,因為int型別在記憶體中佔4位,所以list+1就表示位址增加4。 即假設list代表的位址為10,list+1代表的位址為10+sizeof(int) = 14。
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個整型資料的長度。如要將二維陣列賦給一指標,應這樣...
指標陣列與陣列指標 C
關於陣列指標 1 對於二維陣列,初始化時,必須指定乙個引數 int a 3 int a 這樣是不允許的,因為要確定指標移動一步要走多遠。對於一位陣列int a 這樣可以。也就數說只有乙個引數位置可以不用設定引數。2 int p 3 必須加上小括號,這代表乙個指向陣列的指標,數字3,代表每一列有三個數...