在C語言中,函數(shù)的無參用關(guān)鍵字用void表示,如果一個(gè)函數(shù)的參數(shù)為void,當(dāng)我們調(diào)用此函數(shù)并給它傳遞一個(gè)參數(shù)時(shí),編譯器會給出錯(cuò)誤的警告,因?yàn)槟惆褏?shù)傳遞給了一個(gè)不接受參數(shù)的函數(shù)。 例: int func(void) { ... } int main(void) { func(5) ; /*It will cause an error .*/ ... return 0 ; } 這里注意一點(diǎn),在C語言中(而不是C++中),如果函數(shù)的參數(shù)什么也沒有,如int func(),那么此時(shí)你調(diào)用這個(gè)函數(shù)的時(shí)候放不放參數(shù)編譯器都不會給出警告,編譯器會認(rèn)為它是可有可無的,但這不是一個(gè)好方法,如果函數(shù)不需要任何參數(shù),那一定要顯式的把void加到參數(shù)列表里。 參數(shù)是什么呢,比如f(x) = 5x + 3 ;這里的x就是參數(shù)(可理解為做為參照的數(shù)),是形參,f(5)會得出一個(gè)值,f(10)又會得出一個(gè)值(顯然這是個(gè)雙射函數(shù),呵呵),那么這里的5 , 10都是實(shí)參(實(shí)際傳遞的參數(shù)),實(shí)參會替換形參的位置。 如: int func(int a , int b) { return a + b ; } 其中a , b是形參,調(diào)用時(shí) func(5,6) ; 那5 , 6就是實(shí)參,函數(shù)得到實(shí)參后會替換原來形參的位置,相當(dāng)于將5和6相加并返回結(jié)果。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),邱縣企業(yè)網(wǎng)站建設(shè),邱縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,邱縣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,邱縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
void
funtion1(void)
{
printf("funtion1是無參函數(shù)\n");
}
void
funtion2(int
x)
{
int
y;
y=x;
printf("funtion2是有參函數(shù)\n");
printf("參數(shù)的値是
%d",y);
}
mani()
{
funtion1();
funtion2(8);
}
這里所謂的有參和無參的參是指函數(shù)的參數(shù),也就是上例中的funtion(int
x)括號中的參數(shù)x
,該參數(shù)的類型是int型。funtion2(int
x)被調(diào)用時(shí)的形式如funtion2(8),也就是x=8,然后把參數(shù)値8傳進(jìn)函數(shù)funtion2,y=8;所以,主函數(shù)main()的運(yùn)行結(jié)果是,
funtion1是無參函數(shù)
funtion2是有參函數(shù)
參數(shù)的値是8
void A(int a);
void A(int a, int b);
這些是有參函數(shù),也就是傳入?yún)?shù),你可以在函數(shù)體內(nèi)操作,對應(yīng)地在主函數(shù)調(diào)用函數(shù)時(shí)會傳入實(shí)參,如:A(a)。
viod A();
這是無參函數(shù),對應(yīng)在主函數(shù)調(diào)用函數(shù)時(shí)不會傳入?yún)?shù),如A()。