新聞中心
C語言形式參數(shù)和實際參數(shù)分別是什么,最好舉個簡單的例子
聲明定義函數(shù)時的參數(shù)是形式參數(shù)
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,蘭西企業(yè)網(wǎng)站建設,蘭西品牌網(wǎng)站建設,網(wǎng)站定制,蘭西網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,蘭西網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
調(diào)用函數(shù)使用時傳入的參數(shù)是實際參數(shù)
比如說聲明一個函數(shù):
int fun(int num);
這里的num就是形式參數(shù)。
調(diào)用一個函數(shù):x = fun(num);
這里的num就是實際參數(shù)。
c語言中參數(shù)是什么概念
函數(shù)的參數(shù)分為形參和實參兩種。
形參出現(xiàn)在函數(shù)定義中,在整個函數(shù)體內(nèi)都可以使用,離開該函數(shù)則不能使用。實參出現(xiàn)在主調(diào)函數(shù)中,進入被調(diào)函數(shù)后,實參變量也不能使用。
形參和實參的功能是作數(shù)據(jù)傳送,發(fā)生函數(shù)調(diào)用時,主調(diào)函數(shù)把實參的值傳送給被調(diào)函數(shù)的形參從而實現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。
舉個例子:
定義一個函數(shù)s=f(a,b),功能是將a和b的差賦值給s,那么,a和b就是這個函數(shù)的兩個參數(shù)。
擴展資料:
C語言的參數(shù)傳遞方式
方法有3種方式:值傳遞、地址傳遞、引用傳遞
tips:
被調(diào)用函數(shù)的形參只有函數(shù)被調(diào)用時才會臨時分配存儲單元,一旦調(diào)用結(jié)束占用的內(nèi)存便會被釋放
值傳遞和地址傳遞,傳遞的都是實參的一個拷貝
C語言中實參和形參之間的數(shù)據(jù)傳遞是單向的“值傳遞”,單向傳遞,只能由實參傳給形參,反之不行
輸出格式并沒有選擇%p而是選擇了%d,因為十進制的數(shù)看起來更直觀。
值傳遞
如果只是傳遞值的話:
#include stdio.h
//值傳遞傳值
void swap( int x, int y);
int main()
{
int a=2,b=3;
printf("before:實參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,a,b,b);
swap(a,b);
printf("after:實參為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);
}
C語言中“實際參數(shù)”“形式參數(shù)”的概念是什么?
形式參數(shù)就是定義函數(shù)時候的參數(shù)表,只是定義了調(diào)用時參數(shù)的個數(shù)、類型和用來引用的名字,并沒有具體的內(nèi)容。形參未被調(diào)用時,不占存儲單元。形參只在調(diào)用過程中占用存儲單元。
在調(diào)用函數(shù)時,給形參分配存儲單元,實參可以是常量、變量或者表達式,且要與形參類型一致!而且實參要有確定的值,在調(diào)用過程中實參將值賦給形參,并將實際參數(shù)對應的數(shù)值傳遞給形式參數(shù);
調(diào)用結(jié)束后,形參單元被釋放,實參單元仍然保留
并且維持原值。所以說,實參是調(diào)用函數(shù)傳遞的具體數(shù)據(jù)。實參對形參數(shù)據(jù)傳遞時時單向傳遞。在存儲單元中是不同的單元。
下面這段程序中
#includestdio.h
int
fun(int
a,int
b)
{a+=10;
b=a+b*2;
return
a+b;
}
void
main()
{
int
x=3,y=5,z;
z=fun(x,y);
printf("%d
%d
%d\n",x,y,z);
}
a和b都是形式參數(shù),x和y都是實際參數(shù)。
程序從主函數(shù)開始運行,等到運行到z=fun(x,y)開始調(diào)用被調(diào)用函數(shù),以被調(diào)用函數(shù)的形式進行運算,然后把計算的值返回后賦值給z,這樣一個運算就算完成了。在調(diào)用過程中,形參a和b的值都發(fā)生了改變,但是在main函數(shù)中,x和y的值都未發(fā)生變化。所以說實參向形參的值的傳遞是單向的。
網(wǎng)站題目:c語言函數(shù)實際的參數(shù),c語言函數(shù)參數(shù)
標題URL:http://www.dlmjj.cn/article/dsishjp.html