對C語言中指標的入門理解

2022-02-01 00:46:22 字數 1571 閱讀 8012

當指標p的值為物件x的位址時,我們一般會說「p指向x」。

接著進行「xiaohong = &xiaoli」的複製,我們就可以得出「小紅喜歡小李」。

xiaolin、xiaohong的資料型別是「指向int型變數的指標型」

xiaolin = &xiaozhang; 

xiaohong = &xiaowang;

從以上賦值語句也可以發現,&xiaozhang、&xiaowang的型別也是「指向int型變數的指標型」。

所以說取位址符(&)不光可以理解為取址運算子,也可以理解為生成指標,表示式&xiaozhang是指向xiaozhang的指標,其值為xiaozhang的位址

在進行顯示的地方,就要用到叫作指標運算子的單目運算子*。

將指標運算子*寫於指標之前,就可以顯示該指標指向的物件內容。

因此,*xiaolin就等於「xiaolin指向的物件」,*xiaolin就是xiaozhang。*xiaolin是xiaozhang的別名

所以當p指向x時,*p就是x的別名

當指向 xiaoli 的指標賦給xiaohong,使 xiaohong 指向 xiaoli,這樣一來就變成「xiaohong 喜歡 xiaoli」

小紅從小王移情別戀給小李了,嘖嘖...

所以,如果將指向其他物件的指標賦給指標變數,那麼該指標變數就會指向這些物件。

因此,上例的程式執行結果如下

xiaolin = &xiaozhang;  

xiaohong = &xiaowang;

printf(

"小玲喜歡的人的身高:%d\n

",*xiaolin);

printf(

"小紅喜歡的人的身高:%d\n

",*xiaohong);

xiaohong = &xiaoli; //

int 175

*xiaohong = 180; //

修改小李的身高,從175變為180

printf("\n

");printf(

"小張的身高:%d\n

",xiaozhang);

printf(

"小李的身高:%d\n

",xiaoli);

printf(

"小王的身高:%d\n

",xiaowang);

printf(

"小玲喜歡的人的身高:%d\n

",*xiaolin);

printf(

"小紅喜歡的人的身高:%d

",*xiaohong); //

輸出180

個人c語言中指標的理解

定義指標 int p int i p i p是指向i位址的指標 p 10 指的是i的值變成了10指標在使用前一定要賦值 確定指標指向 為指標變數賦的值必須是乙個位址 將指標變數初始化為空指標,意為該變數不指向任何值 int ptr null 將變數位址賦值給指標 int a int p a 或者 i...

C語言中指標大全

1.使用二維字串儲存字串的時候會出現儲存浪費的情況,使用指標陣列儲存則不會 char s for i 0 ifor i 0 i 3 i 2.指標陣列作為函式引數傳遞多個字串給另乙個函式。指標陣列是乙個陣列,只是裡面存放了指標 void str sort char s,int n n代表指標陣列的長度...

對C語言中指標的部分小結(1)

一 指標 int a 15 int p a int 表示p是指向乙個整型變數的指標,而p的值是a的位址 若有 int a 10 char p char a a是整型,p是指向字元型變數的指標,應將a的位址強制型別轉換為char int p中,表示p是乙個指標,int表示指標p指向的物件是乙個整形。2...