凡不加返回值類型限定的函數(shù),就會被編譯器作為返回整型值處理。而不是當(dāng)做void
創(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 fun() 本身就沒有返回值 如果定義為fun() 雖然不給函數(shù)體內(nèi)加return語句 但照樣會返回一個整型數(shù) 因?yàn)槭裁炊疾患?就默認(rèn)為了int
舉個例子
f(){
}
main()
{
int a = 1;
a =f();
printf("%d ",a);
getch();
}
我這兒得到的結(jié)果是1842 是個整型數(shù) 你可以試試運(yùn)行下 可能結(jié)果不一樣 但是結(jié)果肯定是個整型數(shù)據(jù)
作為對比 我們看看下一個實(shí)例
void f(){
}
main()
{
int a = 1;
f();
printf("%d ",a);
getch();
}
輸出結(jié)果是1 其中f()什么都沒做 什么都不返回
簡單地來說,無參數(shù)函數(shù)就是不傳入?yún)?shù)的函數(shù),有參數(shù)函數(shù)就是要傳入?yún)?shù)的函數(shù),空函數(shù)就是函數(shù)體為空的函數(shù),舉例子來說吧:
無參數(shù)函數(shù)是這樣:
Example1(){
printf("這是無參數(shù)函數(shù)");
}
有參數(shù)函數(shù)是這樣:
Example2(int a){
printf("這是有參數(shù)函數(shù),參數(shù)值為%d",a);
}
空函數(shù)是這樣:
Example3(){
/*這里什么都沒有*/
}
如果定義函數(shù)時(shí)只給出一對花括號{}而不給出其局部變量和函數(shù)體語句,則稱該函數(shù)為“空函數(shù)”。
空函數(shù)的作用:
(1)程序設(shè)計(jì)過程的需要。在設(shè)計(jì)模塊時(shí),對于一些細(xì)節(jié)問題或功能在以后需要時(shí)再加上。這樣可在將來準(zhǔn)備擴(kuò)充的地方寫上一個空函數(shù),這樣可使程序的結(jié)構(gòu)清晰,可讀性好,而且易于擴(kuò)充。
(2)在C++程序中,可以將基類中的虛函數(shù)定義為空函數(shù),通過派生類去實(shí)例化,實(shí)現(xiàn)多態(tài)。
對于你所說的“void表示主函數(shù)為空函數(shù),沒有返回值”:
void 函數(shù)名(參數(shù));這種形式的函數(shù)定義,是說所定義的函數(shù)沒有返回值。沒有返回值(也就是函數(shù)體內(nèi)沒有return語句),是指函數(shù)只是完成一系列動作,不需要返回值給調(diào)用函數(shù);或者返回值是通過指針等方式返回給調(diào)用函數(shù)的。