(地基工) 形參,實(shí)參,按值,按引用,按指針
Posted on 2011-03-10 14:49 點(diǎn)點(diǎn)滴滴 閱讀(413) 評(píng)論(0) 編輯 收藏 引用 所屬分類: 02 編程語(yǔ)言形參:全稱為"形式參數(shù)"是在定義函數(shù)名和函數(shù)體的時(shí)候使用的參數(shù),目的是用來(lái)接收調(diào)用該函數(shù)時(shí)傳如的參數(shù).
實(shí)參:全稱為"實(shí)際參數(shù)"是在調(diào)用時(shí)傳遞個(gè)該函數(shù)的參數(shù).
形參和實(shí)參的類型必須要一致,或者要符合隱含轉(zhuǎn)換規(guī)則, 當(dāng)形參和實(shí)參不是指針類型時(shí),在該函數(shù)運(yùn)行時(shí),形參和實(shí)參是不同的變量,他們?cè)趦?nèi)存中位于不同的位置,形參將實(shí)參的內(nèi)容復(fù)制一份,在該函數(shù)運(yùn)行結(jié)束的時(shí)候形參被釋放, 而實(shí)參內(nèi)容不會(huì)改變.
而如果函數(shù)的參數(shù)是指針類型變量,在調(diào)用該函數(shù)的過(guò)程中,傳個(gè)函數(shù)的是實(shí)參的地址,在函數(shù)體內(nèi)部使用的也是實(shí)參的地址,即使用的就是實(shí)參本身.所以在函數(shù)體內(nèi)部可以改變實(shí)參的值.
寫一個(gè)交換a,b值的函數(shù)。
按值(C++):
函數(shù)聲明: swap(x,y){.....}
函數(shù)調(diào)用: int a=5;int b=6;
swap(a,b)
注:把a(bǔ)和b的值分別傳給x,y。其實(shí)a,b本身的值并沒(méi)有改變,a,b并沒(méi)有交換成功,要交換兩個(gè)數(shù)的值不能使用按值傳遞。
cout<<a; //a=5
cout<<a; //b=6
引用(C++):
函數(shù)聲明: swap(&x,&y){.....}
函數(shù)調(diào)用: int a=5;int b=6;
swap(a,b)
注:把a(bǔ)和b的值分別傳給x,y。由于按地址傳遞,所以a,b交互成功。
cout<<a; //a=6
cout<<a; //b=5
指針(C++):
函數(shù)聲明: swap(*x,*y){.....}
函數(shù)調(diào)用: int *a=5;int *b=6;
swap(a,b)
注:把a(bǔ)和b的值分別傳給x,y,由于按地址傳遞,所以a,b交互成功。。
cout<<a; //a=6
cout<<a; //b=5


