void也是個(gè)類型,他可以是任何類型,由被引用對象的類型決定。而參數(shù)空表示沒有參數(shù),參數(shù)void表示還是有參數(shù)的
成都創(chuàng)新互聯(lián)專注于濟(jì)南企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城建設(shè)。濟(jì)南網(wǎng)站建設(shè)公司,為濟(jì)南等地區(qū)提供建站服務(wù)。全流程按需策劃,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
如果定義函數(shù)時(shí)只給出一對花括號(hào){}而不給出其局部變量和函數(shù)體語句,則稱該函數(shù)為“空函數(shù)”。
空函數(shù)的作用:
(1)程序設(shè)計(jì)過程的需要。在設(shè)計(jì)模塊時(shí),對于一些細(xì)節(jié)問題或功能在以后需要時(shí)再加上。這樣可在將來準(zhǔn)備擴(kuò)充的地方寫上一個(gè)空函數(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ù)只是完成一系列動(dòng)作,不需要返回值給調(diào)用函數(shù);或者返回值是通過指針等方式返回給調(diào)用函數(shù)的。
凡不加返回值類型限定的函數(shù),就會(huì)被編譯器作為返回整型值處理。而不是當(dāng)做void
譬如你的void fun() 本身就沒有返回值 如果定義為fun() 雖然不給函數(shù)體內(nèi)加return語句 但照樣會(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ù)
作為對比 我們看看下一個(gè)實(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(){
/*這里什么都沒有*/
}