1、空函數(shù):返回值為void類型的函數(shù),可以用return,也可以不用return。 不用return和在函數(shù)結(jié)束處有個(gè)return是等效的。但要注意return后面除了分號(hào)以外什么也沒有。
蘇尼特右ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
2、空值函數(shù):返回值為NULL的函數(shù)。 如果是有返回類型的函數(shù), 返回空指針用“return NULL;"。這種函數(shù)就空值函數(shù)。
如果定義函數(shù)時(shí)只給出一對(duì)花括號(hào){}而不給出其局部變量和函數(shù)體語(yǔ)句,則稱該函數(shù)為“空函數(shù)”。
空函數(shù)的作用:
(1)程序設(shè)計(jì)過(guò)程的需要。在設(shè)計(jì)模塊時(shí),對(duì)于一些細(xì)節(jié)問(wèn)題或功能在以后需要時(shí)再加上。這樣可在將來(lái)準(zhǔn)備擴(kuò)充的地方寫上一個(gè)空函數(shù),這樣可使程序的結(jié)構(gòu)清晰,可讀性好,而且易于擴(kuò)充。
(2)在C++程序中,可以將基類中的虛函數(shù)定義為空函數(shù),通過(guò)派生類去實(shí)例化,實(shí)現(xiàn)多態(tài)。
對(duì)于你所說(shuō)的“void表示主函數(shù)為空函數(shù),沒有返回值”:
void 函數(shù)名(參數(shù));這種形式的函數(shù)定義,是說(shuō)所定義的函數(shù)沒有返回值。沒有返回值(也就是函數(shù)體內(nèi)沒有return語(yǔ)句),是指函數(shù)只是完成一系列動(dòng)作,不需要返回值給調(diào)用函數(shù);或者返回值是通過(guò)指針等方式返回給調(diào)用函數(shù)的。
凡不加返回值類型限定的函數(shù),就會(huì)被編譯器作為返回整型值處理。而不是當(dāng)做void
譬如你的void fun() 本身就沒有返回值 如果定義為fun() 雖然不給函數(shù)體內(nèi)加return語(yǔ)句 但照樣會(huì)返回一個(gè)整型數(shù) 因?yàn)槭裁炊疾患?就默認(rèn)為了int
舉個(gè)例子
f(){
}
main()
{
int a = 1;
a =f();
printf("%d ",a);
getch();
}
我這兒得到的結(jié)果是1842 是個(gè)整型數(shù) 你可以試試運(yùn)行下 可能結(jié)果不一樣 但是結(jié)果肯定是個(gè)整型數(shù)據(jù)
作為對(duì)比 我們看看下一個(gè)實(shí)例
void f(){
}
main()
{
int a = 1;
f();
printf("%d ",a);
getch();
}
輸出結(jié)果是1 其中f()什么都沒做 什么都不返回