指標
指標是一種特殊的型別,指標變數是指標型別的變數,變數中存放的是另乙個變數位址,指標有兩個值,乙個是它自身的值,也就是它存放的位址,另乙個是它所指向的值,就是她存放的實體地址所對因的變數的值;
int a=1;int *p=&a;//把a的位址存放在p中
指標型別的大小可以用sizeof()計算出來,//sizeof(int *) sizeof(char *)....
可以得知,指標型別的大小都為四位元組
我們在定義乙個指標變數時,一定要初始化;
在釋放指標變數所指向的變數時,同樣也要給指標b變數賦空(null)
指標同樣也有void *型別的指標
如void *p=null;
void *型別的指標叫做無型別指標
無型別指標可以接收任何型別的指標
如:int a=0;
char b='a';
floaf c=12.23;
void *p=&a;
p=&b;
p=&c;
都可以,同時也可以接收自身的指標//p=&p;
但是其他型別指標接收無型別指標時候,必須強轉,
void *p=&a;
char *pi=(char)p;
陣列是相同資料型別的元素按一定順序排列的集合,
定義int ar[10];
陣列初始化
int ar[04]=;
int ar1[10]=;
int ar 2={};
int ar3="hello";
陣列和指標在訪問時都可以以的形式,例如
int *a=1;
printf("%d",a);
int ar=;
printf("%c",ar[1])
陣列和指標訪問時編譯器都會識別為指標的形式引用
引用是給變數起別名,
int a=1;int &b=a;//b是a的引用,a和b其實指的是同乙個變數,實體地址相同
指標和引用的區別
指多級指標引用無多級引用
指標陣列和陣列指標
有關陣列指標和指標陣列容易混淆,本文舉例說明兩者的區別,並加以分析。基本概念 指標 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本身...