無參函數(shù),是指在主調(diào)函數(shù)調(diào)用被調(diào)函數(shù)時,主調(diào)函數(shù)不向被調(diào)函數(shù)傳遞數(shù)據(jù)。無參函數(shù)一般用來執(zhí)行特定的功能,可以有返回值,也可以沒有返回值,但一般以沒有返回值居多。
創(chuàng)新互聯(lián)專業(yè)提供成都主機(jī)托管四川主機(jī)托管成都服務(wù)器托管四川服務(wù)器托管,支持按月付款!我們的承諾:貴族品質(zhì)、平民價格,機(jī)房位于中國電信/網(wǎng)通/移動機(jī)房,四川雅安電信機(jī)房服務(wù)有保障!
有參函數(shù),是指在主調(diào)函數(shù)調(diào)用被調(diào)函數(shù)時,主調(diào)函數(shù)通過參數(shù)向被調(diào)函數(shù)傳遞數(shù)據(jù)。在一般情況下,有參函數(shù)在執(zhí)行被調(diào)函數(shù)時會得到一個值并返回給主調(diào)函數(shù)使用。
擴(kuò)展資料
1、定義有參函數(shù)的一般形式為:
函數(shù)類型 函數(shù)名(參數(shù)類型1 參數(shù)名1, 參數(shù)類型2 參數(shù)名2, …, 參數(shù)類型n 參數(shù)名n)
{
聲明部分
語句部分
}
2、有參函數(shù)使用注意事項:
(1)在定義函數(shù)時,必須要指定形參的類型。實參與形參的個數(shù)必須相等,若不相等就是語法錯誤。此外,實參與形參的類型要相同或賦值兼容。最好是相同,這樣不容易出錯。如果不相同則實參按形參的類型轉(zhuǎn)化,然后再送給形參。
(2)在傳遞數(shù)據(jù)時,實參與形參是按順序一一對應(yīng)的。
好問題。
c語言中的函數(shù)和數(shù)學(xué)中的函數(shù)不一樣。
沒有參數(shù)的函數(shù),有些用了全局變量,所以還是有參數(shù)的,意義就在于分解代碼,做成一個函數(shù)都要取個名字,從函數(shù)就可以知道一段代碼的主要功能了。
和寫參數(shù)名的情況是一樣的。 調(diào)用時按照參數(shù)列表類型,傳入對應(yīng)個數(shù) 類型匹配的實參就行。
聲明的時候,可以省略形參的參數(shù)名,而只保留類型。
即 聲明int fun(int , int);
和聲明 int fun(int a, int b);
效果是完全一樣的 。 調(diào)用的時候 都是傳入兩個整型參數(shù)即可。
函數(shù)定義時在函數(shù)名后的圓括號的參數(shù)叫“形式參數(shù)”,簡稱“形參”;調(diào)用該函數(shù)時在函數(shù)名后的圓括號內(nèi)的參數(shù)叫“實際參數(shù)”,簡稱“實參”。
int
Add(
int
num1
,
int
num2)
/*
num1和num2為形參
*/
{
return
num1
+
num2;
}
void
main()
{
int
a,
b,
value
a
=
1;
b
=
3;
value
=
Add
(a,
b);
/*
a和b為實參
*/
printf("%d
+
%d
=
%d\n",
a,
b,
value);
}
在C語言中,所謂的“輸入?yún)?shù)”就是指形參;當(dāng)形參使用引用傳遞時,輸入?yún)?shù)也可以當(dāng)作輸出參數(shù)。
GetNumber()沒有形參,也就沒有輸入?yún)?shù)。至于該函數(shù)體內(nèi)部的變量c及輸入語句,只能算是該函數(shù)的局部變量及賦值語句而已。簡單來說,函數(shù)有沒有輸入?yún)?shù),只要看函數(shù)名的圓括號內(nèi)是否有參數(shù)即可。
定義的時候確實可以不寫形參名字。
你如果學(xué)了編譯原理的話可以知道函數(shù)間是如何傳參的(大多語言是通過棧),
c語言是第n個參數(shù)先壓棧,再壓第n-1個,。。。再壓第一個。最后修改棧頂指針add esp,8。
當(dāng)進(jìn)入函數(shù)時都是
push ebp
mov ebp,esp
所以可以這么實現(xiàn)
//VS2010環(huán)境
void f(int,int)
{
int a,b;
__asm //這是嵌入?yún)R編關(guān)鍵字,在VC6.0嵌入?yún)R編好像是asm
{
mov eax,[ebp+8]
mov a,eax ;第一個參數(shù)
mov eax,[ebp+12]
mov b,eax ;第二個參數(shù)
}
printf("%d\t%d\n",a,b);
}
void main()
{
f(7,3);
}
自己寫的函數(shù)可以自己決定用不用參數(shù),但是你在調(diào)用某個函數(shù)時,就得看看這個函數(shù)是否要求傳遞參數(shù),必須格式一致才能調(diào)用~~
新聞標(biāo)題:c語言函數(shù)沒有參數(shù)名,c語言中函數(shù)必須有參數(shù)嗎
轉(zhuǎn)載源于:http://muchs.cn/article0/pheiio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、用戶體驗、微信公眾號、網(wǎng)站改版、品牌網(wǎng)站設(shè)計、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)