指標變數的一些總結

2021-09-13 19:31:16 字數 2068 閱讀 6045

ⅰ 作用:利用指標,可以直接處理記憶體中各種資料結構的資料,特別是陣列,字串。靈活,正確運用指標,可以提高程式的執行效率,編寫出精煉而高效的程式。

指標變數必須先定義,後使用。

定義的一般形式為 : 資料型別識別符號 *指標變數名;

int * p

double * d

char * pc

注意:1,指標變數資料型別必須與所賦值的變數型別一致;

如,float y; int * p; p=&y; (這是錯的)

2,不允許把乙個數(常量)賦予指標變數(指標變數只能存放變數位址)

如,int * p; p=333(錯的)

3,被賦值的指標變數前不能再加 「 * 」 說明符,寫為 * p=&a 這是錯誤的,但對於在定義指標的同時賦值是允許的,如,int * p=&a; 實際可分解為兩步,int * p;p=&a;

4,可以將指標變數初始化為空值null,如,p=null;

5,同型別的指標變數可以相互賦值, int a,*pa=&a,*pb; pb=pa;

ⅲ &,* 都是具有右結合性的單目運算子,且優先順序相同,

在執行語句**現,

&:表示取指標變數的位址;

*:表示取指標變數所指向的變數的值;

int *px,x,y,*p; px=&x; y=*px;

在變數定義**現,

&:表示本語句定義乙個引用,如:

int y; int &x=y;//定義x為變數y的引用;

*:表示本語句定義乙個指標變數,如,

int *px;

注,&後面只能是乙個變數或陣列元素,不能是表示式;*後面只能是位址;

ⅳ 辨別,&*p,&a, p,*p

由於,&, * 都是具有右結合性的單目運算子,且優先順序相同,所以,& * p,先 * 與p結合,再執行&運算,因此,&*p=&a=p

p是表示變數a的位址,而,*p是表示變數a的值;

特殊的指標;

㈠指向常量的指標:宣告指標時,可以使用const 指定,該指標指向的值不能改變。一般形式為,const 資料型別識別符號 * 指標變數名;或者:資料型別識別符號 const * 指標變數名。即,使用該指標時,可以改變指向,但,不能通過該指標改變所指目標的值。例:

int s=23,d=24;

const int *p=&s;

*p=90; //錯誤,這種利用指向常量的指標改變它所指向的值的操作是錯誤的;但可以對s進行任意操作;

s=21; //正確

p=&d; //正確,可以改變指向,

注;普通指標不能指向常變數。指向常量的指標既能指向普通變數,也能指向常變數,而,普通指標只能指向普通變數,不能指向常變數。例:const int xn=8;

int *p;

p=&x; //錯誤

const int *q;

q=&x; //正確

㈡指標常量:一般形式,

資料型別識別符號 *const 指標常量名=變數位址;例如:

int x;

int y=34;

int *const p=&x;

*p=12; //正確

p=&y; //錯誤

指標常量只能永遠指向初始化時設定的目標,不能指向其他目標。但,由於x是個變數,所以,在程式中通過指標常量來修改所指目標值時允許的,即,「*p=12」是正確的。

㈢void型別的指標:一般形式:

void * 指標變數名;

可以將任意型別資料的位址賦給void型別的指標變數;經過強制型別轉換,void型別指標可以訪問任何型別的資料。

例,int a=123;

int *p1;

void *p2;

p2=&a; //將int型別變數a 賦給p2

p1=(int *)p2; //經過強制轉換,將p2賦值給p1

㈣二級指標:存放著另乙個指標變數的位址,則稱這個指標為二級指標變數。

定義形式,資料型別識別符號 **二級指標變數名;例 :int a=22;

int *p=&a;

int **pp=&p;

**pp=1;

cout<輸出a=1。

指標的一些總結

2016年9月14日 指標陣列和陣列指標 指標陣列是指 陣列元素都是指標 int ptr 5 int a 2,b 3,c 6,p,q p a q b ptr 0 a 存入的是a的位址 ptr 1 b ptr 2 c cout ptr 0 ptr 0 endl cout ptr 1 ptr 1 end...

關於指標的一些總結

指標和陣列一樣,都是基於其它型別的。指標的宣告 int p updates 運算子兩邊的空格是可選的。對每個指標變數命名,都需要乙個 變數名,為取址,它的值為變數的位址 32位 指標變數,為指標儲存的位址所儲存的值。可以通過改變它來改變。malloc 可以分配記憶體,但c 更好的方法是使用new。i...

const 指標的一些總結

前兩天在網上看到華為的一些筆試題,對基礎的掌握仍然是這種大公司所重視的。其間對指標掌握的要求比較多,有一道是關於const指標的。看到那道題,回來整理了一些有關const指標的內容,分享一下。const說明指標變數,組合的情況可能會顯得很複雜。使用指標時要涉及兩個目標,即指標本身和指標所指的物件。關...