函式呼叫中,實參的資料和形參對應傳遞,有兩種傳遞方式:
1.值傳遞(只傳送值,實參不做改變)
2.位址傳遞(傳送位址,實參被改變)
# include
void
swap
(int
,int);
intmain
(void
)void
swap
(int a,
int b)
//void:沒有返回引數
/* 結果:
(1)x=10 y=20
(2)a=10 b=20
(3)a=20 b=10
(4)x=10 y=20 值傳遞,只傳送值,實參不做改變
請按任意鍵繼續. . .
*/
# include
void
swap
(int*,
int*);
//形參是指標變數
intmain
(void
)void
swap
(int
*a,int
*b)/
*結果:(1
)x=30 y=20(
2)a=
30 b=20(
3)a=
20 b=30(
4)x=
20 y=
30 位址傳遞,實參被改變
請按任意鍵繼續...
*/
C語言 關於值傳遞和位址傳遞
初學者在學習c語言時候乙個極容易迷惑的地方就在函式的 值傳遞 和 位址傳遞 了,出現這個迷惑的原因有些教材沒有把記憶體圖畫出來,只是簡單的舉了幾個例子,結果初學者按照例子寫寫 倒是能執行出來,但始終沒明白到底是怎麼回事,下面我通過例子和畫圖來相信說明裡面的細節問題。在開始之前有乙個前提,你一定要粗略...
C語言值傳遞和位址傳遞詳解
目錄 我們舉乙個例子 寫乙個函式找出兩個整數中的最大值。include get max函式 int get max int x,int y int main 執行結果是 max 20 我們來分析一下這個函式呼叫過程 num1,num2作為實參傳入get max 函式,形參x,y被例項化 分配記憶體單...
C 函式位址傳遞和值傳遞區別
目錄 c 位址傳遞和值傳遞區別 1 位址傳遞vs值傳遞 2 演示 相當於通過尋找位址 傳遞,然後 解引用,修改變數的值。void swap int p1,int p2 swap a,b 呼叫值傳遞 之間進行形參內部的值的改變,不會改變實參,只會影響形參。相當於在函式內部做了賦值的操作。void sw...