一:指標:
定義:int *p=null;
p:來存指標(位址)的;p是指標變數是用*來告訴系統說p是指標變數只能存地方位址;
二:陣列
陣列:一維陣列和二維陣列以及多位陣列;
定義:一維:int a;
二維:int a;
三:指標和陣列關係
1、一維陣列和指標關係:
一維陣列是一級指標所以就用一級指標操作就可以;
int a;
int *p;
p=&a[0];和p=a是一樣的
解釋: p是儲存位址的,所以就把陣列的首位址a[0](而且陣列裡面規定首個位址也可以用數字的名字代替既a也可以表示陣列的首個位址)存到p裡面,因為陣列是線性的順序儲存所以在記憶體中申請的空間是連續遞增的。p代表陣列a的首個元素的位址既a[0]的位址也可以用a表示;
p+1 就是a[1]第二個元素的位址,p+3就是a[2]第三個元素的位址依次類推;
a的位址和a[0]的位址一樣 a+1和a[1]的位址也是一樣的,所以有如下
變數內容:*p=*a=a[0];*(p+1)=*(a+1)=a[1];
2、二維陣列和指標關係:
二維陣列有兩種方式三種方法建立:
a.第一種方式:一級指標的形式:
int a和int (*b);
因為是一級指標所以用 int *c,*d;就可以引用
b=a;
for迴圈:
for(int i=0;i<10;i++)
}for(int i=0;i<10;i++)
} b.第二種方式:二級指標形式:
int *a[4];//陣列裡面存的都是位址而且陣列本身也有位址;
int **p;//位址的位址
p=a;
*a[4]:代表一維陣列有4個元素每個元素也都有自己的位址,這四個元素的首位址就是a,並且每個元素都存放的都是位址,指向別處;所以就是要想取出資料,就需要取位址的位址;就是二級指標;
指標陣列和陣列指標
有關陣列指標和指標陣列容易混淆,本文舉例說明兩者的區別,並加以分析。基本概念 指標 inta 1 int p a 指標的指標 int p2p p 簡單陣列 intb 20 指標陣列 int p 10 指標陣列,含有10個指標元素,即每乙個元素都是乙個指標 陣列指標 int p 10 這個指標用來指向...
指標陣列和陣列指標
理解這兩個概念,當從語言學的語法角度開始,定語 名詞,即 的 語句。指標陣列 指標的陣列 陣列指標 陣列的指標。一 指標陣列 元素為指標的陣列 顧名思義,就是說的首先是乙個陣列吧,然後陣列的元素是指標而已。說明形式為 type pointer array constant1 constant2 co...
指標陣列和陣列指標
該文時自己對指標陣列用法的一點總結,還望高手指點不足原文如下 由於以前對指標陣列不太明白,所以自己寫了 乙個小的測試程式來驗證了自己的猜測,先總結如下 指標陣列,由名字就可以知道的該陣列中的成員都是為指標的。其定義的方法為 char p 5 該初定義乙個包含5個char 型別的陣列的指標,由於p本身...