十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
形參:全稱為"形式參數(shù)"是在定義函數(shù)名和函數(shù)體的時(shí)候使用的參數(shù),目的是用來(lái)接收調(diào)用該函數(shù)時(shí)傳如的參數(shù).
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到吳興網(wǎng)站設(shè)計(jì)與吳興網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋吳興地區(qū)。
實(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è)很簡(jiǎn)單的例子:
int f(int b) /*b為形參*/
{ return b;}
main()
{int a=1;
printf("%d",f(a));/*a為實(shí)參*/
}
例如:你自己定義一個(gè)函數(shù)
int
max(int
a,int
b){...
}
在這里a,b就是形參,接下來(lái)你會(huì)調(diào)用max函數(shù),如:
void
main()
{
int
c,int
d;
.....
max(c,d);
}
這里c
d就是實(shí)參
所謂形參就是在函數(shù)定義體中的參數(shù)
所謂實(shí)參就是在調(diào)用函數(shù)時(shí)實(shí)際傳進(jìn)函數(shù)的參數(shù)
形參就是形式參數(shù),用一個(gè)變量代表大家。實(shí)參就是實(shí)際參數(shù),用一個(gè) 確切的數(shù)值代替形式參數(shù),可以是表達(dá)式。實(shí)際參數(shù)與形式參數(shù)的參數(shù)個(gè)數(shù)、類型和順序都應(yīng)一樣,如果不一樣的話,系統(tǒng)會(huì)強(qiáng)制轉(zhuǎn)換,這樣會(huì)造成數(shù)據(jù)的丟失。實(shí) 參向形參的傳遞是值的傳遞。
這個(gè)值就是對(duì)實(shí)參的表達(dá)式進(jìn)行計(jì)算的結(jié)果,它可以是常量值、變量值、數(shù)組元素、函數(shù)值等。如果實(shí)參是數(shù)組名了,那么它傳送的就是地址的值了。比如:
double power(double x ,int n)定義一個(gè)雙精度參數(shù)
power(3.0,5) 調(diào)用
x n 是形參,3.0,5是實(shí)參。如果上面定義的是整形 double power(int x ,int n),下面調(diào)用的是power(3.3,5)那么實(shí)參中3.3會(huì)被轉(zhuǎn)換成3,一部分?jǐn)?shù)據(jù)丟失了。
函數(shù)的參數(shù)分為形參和實(shí)參兩種。
形參出現(xiàn)在函數(shù)定義中,在整個(gè)函數(shù)體內(nèi)都可以使用,離開該函數(shù)則不能使用。實(shí)參出現(xiàn)在主調(diào)函數(shù)中,進(jìn)入被調(diào)函數(shù)后,實(shí)參變量也不能使用。
形參和實(shí)參的功能是作數(shù)據(jù)傳送,發(fā)生函數(shù)調(diào)用時(shí),主調(diào)函數(shù)把實(shí)參的值傳送給被調(diào)函數(shù)的形參從而實(shí)現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。
舉個(gè)例子:
定義一個(gè)函數(shù)s=f(a,b),功能是將a和b的差賦值給s,那么,a和b就是這個(gè)函數(shù)的兩個(gè)參數(shù)。
擴(kuò)展資料:
C語(yǔ)言的參數(shù)傳遞方式
方法有3種方式:值傳遞、地址傳遞、引用傳遞
tips:
被調(diào)用函數(shù)的形參只有函數(shù)被調(diào)用時(shí)才會(huì)臨時(shí)分配存儲(chǔ)單元,一旦調(diào)用結(jié)束占用的內(nèi)存便會(huì)被釋放
值傳遞和地址傳遞,傳遞的都是實(shí)參的一個(gè)拷貝
C語(yǔ)言中實(shí)參和形參之間的數(shù)據(jù)傳遞是單向的“值傳遞”,單向傳遞,只能由實(shí)參傳給形參,反之不行
輸出格式并沒(méi)有選擇%p而是選擇了%d,因?yàn)槭M(jìn)制的數(shù)看起來(lái)更直觀。
值傳遞
如果只是傳遞值的話:
#include stdio.h
//值傳遞傳值
void swap( int x, int y);
int main()
{
int a=2,b=3;
printf("before:實(shí)參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,a,b,b);
swap(a,b);
printf("after:實(shí)參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,a,b,b);
return 0;
}
void swap(int x,int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("inside:形參為x,y\nx=%d,地址為%d\ny=%d,地址為%d\n\n",x,x,y,y);
}