乙個變數有乙個位址,乙個陣列包含若干元素,每個陣列元素都在記憶體中占用儲存單元,他們都有相應的位址,所謂陣列的指標是指數組的其實位址,陣列元素的指標是陣列元素的位址。
乙個陣列是有連續的一塊記憶體單元組成的。陣列名就是這塊連續記憶體單元的首位址。乙個陣列也是由各個陣列元素(下標變數)組成的。每個陣列預元素按其型別不同占有幾個連續的記憶體單元。乙個陣列元素的首位址也是指它所占有的幾個記憶體單元的首位址。
定義乙個指向陣列元素的指標變數的方法,與以前介紹的指標變數相同。例如:
int a[10]; //應當注意,因為陣列型別為int,所以指標變數也應為指向int型的指標變數。下面是對指標變數賦值:定義乙個長度為10的整形陣列。
int *p; //
定義乙個指向整形變數的指標。
p=&a[0];把a[0]元素的位址賦給指標變數p。也就是說,p指向a陣列的第0號元素。
p=&a[0在定義指標變數時可以賦給初值:]; p=a;
int *p=&a[0];它等效於:
int *p;當然也可以寫成:p=&a[0];
int *p=a;從圖中我們可以看出有以下關係,p、a、&a[0]均指向同一單元,他們是陣列a的首位址,也是0號元素a[0]的首位址。應該說明的是p是變數,而a、&a[0]都是常量。在程式設計時應予以注意。
陣列指標變數說明的一般形式為:
型別說明符 *指標變數名;
其中型別說明符表示所指陣列的型別。從一般形式可以看出指向陣列的指標變數和指向普通變數的指標變數的說明是相同的。
c 陣列指標 指標陣列 函式指標
優先順序比 高,低於 根據這個原則去判斷 陣列指標 陣列指標即陣列的指標,是乙個指標,指向乙個陣列 也稱為行指標 int p 2 可以理解為int 2 p,但是不能這樣子定義 p是乙個指標,指向乙個陣列,陣列元素是int長度為2 二維陣列可以賦值給陣列指標 int a 3 4 int p 4 p a...
C 指標陣列與陣列指標
說實話,c語言真的很讓人蛋疼,它不像物件導向的語言,我們重心在設計程式上。而使用c語言,你不僅要考慮程式的設計,你還要考慮很多他的使用細節,不然一不小心你怎麼死的都不知道。但是,個人感覺,c語言的魅力是其他任何語言都比不了的!繼續看。陣列指標 範例 typedef int aint5 5 typed...
C指標陣列和陣列指標
測試 int main 定義二維陣列m並初始化 int p 4 陣列指標 p是指標,指向一維陣列,每個一維陣列有4個int元素 int i,j int q 3 指標陣列 q是陣列,陣列元素是指標,3個int指標 p m p是指標,可以直接指向二維陣列 printf 陣列指標輸出元素 n for i ...