亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

形參的指針賦值問題

聲明 change 函數時,如果是 void change(int a, int b),調用時如果是 change(c , d),那么我們知道是把 c 的值賦予change函數中的a,d 的值賦予change函數中的 b。

這里的change函數變成了 change(int *a, int *b), 調用時為 change(&a, &b),按理來說,應該是把 &a 的值(即變量 a 的內存地址)賦予 *a, &b 的值賦予 *b,可是按教程的意思,這里是把 &a 的值賦予了 a,而非 *a, 為什么呢?

正在回答

3 回答

int*可以理解為一種數據類型,和int一樣,int*是申明一個地址變量a,a用來接收傳入的地址

0 回復 有任何疑惑可以回復我~
#1

六個蒸蛋 提問者

嗯。 但是有時像 “int a, *b;”這樣寫時,讓人感覺 *b 是個一個整體,而非將 int* 看成一個整體,這樣就容易誤以為指針變量是 *b 而非 b。
2019-11-18 回復 有任何疑惑可以回復我~

知道了, int* a,聲明的是變量 a,而非 *a,且這里的 a 是指針變量,儲存的是內存地址。所以這里是把 &a 的值賦予了 a。

0 回復 有任何疑惑可以回復我~

int *a 是定義一個指向int類型數據的指針a,這里的*表示a是個指針,而不是你理解的取a中內容

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

形參的指針賦值問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號