C語言,傳址函式問題。指標與地址

2021-05-04 18:27:57 字數 979 閱讀 7770

1樓:劉兵兵

*b是指標b指向的變數而不是地址,比如int *b=&a,在這裡並不是把a的地址賦給了*b而是賦給了b,這裡是對指標變數b進行了初始化,在這裡*是為了表明變數b是指標變數,以和整形變數區別,所以及很容易理解把a的地址&a賦給b了。

陣列名作為實參的時候,如果是一維陣列,那麼它傳遞的就是一維陣列的第一個元素的地址,即陣列首元素的地址;而若是二維陣列,那麼它傳遞的就是二維陣列中第一個包含有若干列(有二維陣列的第二個[ ]中的數字決定)即第一行的一維陣列的地址;多維陣列同理。。。

2樓:葉寒如風

這麼說吧 void max(int *a,int *b) 其中該函式的形參是指標(即是需要傳入的實參是地址)

如 定義函式如下:

void max(int *a, *b);

int m ,n;

則有呼叫函式

max(&m,&n);

關於陣列名作實參的時候,函式的形參是指標,傳入的地址是該陣列的首個元素的地址

3樓:

這麼講吧,*p&a,拿到你就不知道有這樣的語句嗎,「int a,*p;*p=&a ;」嗎?

陣列名作為實參的時候,形參也是指標啊,陣列名不就是地址!!!!

4樓:

&a就是指取a的地址,*b是個指標,只能用來裝地址。所以可以把&a給*b。

陣列名就是陣列的首地址,形參可以是一個指標。

c語言裡面主函式中的二級指標向被調函式傳遞了地址 為什麼原函式中的指標訪問地址會改變?

5樓:自我程式設計

二級指標也是變數。

既然問題中說「二級指標向被調函式傳遞了地址」,傳址後被調回函式改變答了該變數的值,主函式中變數值自然也變。

二級指標就是指向指標的指標,裡面的值就是一個指標的地址。你傳址後,把二級指標指向的指標換成其他指標。裡面值自然就變了。

關於c語言傳統流程圖問題,關於c語言傳統流程圖問題

回答 抄就是任意輸入 襲一個數,這個數交bai給變數max來儲存。原因du 如下 注意看,在zhi 整個流程圖中,dao輸入max 只執行了一次,是在數的個數n為1的時候。換句話說,因為10個數是一個一個逐次輸入進去的交給程式識別 處理的,所以,很明顯,只輸入第一個數的時候,這僅有的一個數必然是最大...

c語言指標符號問題,C語言指標符號問題?

當你想儲存一個地抄址的時候不加 int a 0 p a 當你想取指標裡的值 的時候加 int b b p b a b 0 就是說把a地址儲存的值取出來。當 p的值還是指標的時候 int p null int q null int a 0,b 1 q a p q p a 結果就是q 指向a p指向q ...

c語言指標問題初學者,C語言指標問題(初學者)

1.概念問題 指標是指存放地址值的變數或常量 指標與一般變數或常量的區別,在於它不直接儲存數值,而是存放被儲存數值的地址,屬於間接存放,所以不少初學者感覺學習困難。比如表示將指標ptr指向變數a,存放a的地址,假設是2000h,而指標變數ptr本身也要有地址,假設是3000h,明顯 ptr和 ptr...