當指標p的值為物件x的位址時,我們一般會說「p指向x」。
接著進行「xiaohong = &xiaoli」的複製,我們就可以得出「小紅喜歡小李」。
xiaolin、xiaohong的資料型別是「指向int型變數的指標型」
xiaolin = &xiaozhang;從以上賦值語句也可以發現,&xiaozhang、&xiaowang的型別也是「指向int型變數的指標型」。xiaohong = &xiaowang;
所以說取位址符(&)不光可以理解為取址運算子,也可以理解為生成指標,表示式&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...