c語言函數(shù)沒有參數(shù)名,c語言中函數(shù)必須有參數(shù)嗎

C語言里面,什么是有參函數(shù),什么是無參函數(shù)

無參函數(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ù),沒有參數(shù)又有什么意義

好問題。

c語言中的函數(shù)和數(shù)學(xué)中的函數(shù)不一樣。

沒有參數(shù)的函數(shù),有些用了全局變量,所以還是有參數(shù)的,意義就在于分解代碼,做成一個函數(shù)都要取個名字,從函數(shù)就可以知道一段代碼的主要功能了。

c語言聲明函數(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ù)即可。

C語言中 函數(shù)沒有輸入?yún)?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ù)即可。

c函數(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);

}

c語言 函數(shù)里面可以沒有參數(shù)嗎?

自己寫的函數(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)

外貿(mào)網(wǎng)站建設(shè)