c語言中允許定義空函數(shù)。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了加格達(dá)奇免費(fèi)建站歡迎大家使用!
C語言是一門面向過程的抽象化的通用程序設(shè)計(jì)語言廣泛應(yīng)用于底層開發(fā)C語言能以簡易的方式編譯處理低級(jí)存儲(chǔ)器,C語言是僅產(chǎn)生少量的機(jī)器語言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語言。
簡介
C語言是一門面向過程的計(jì)算機(jī)編程語言與C++、C#、Java等面向?qū)ο缶幊陶Z言有所不同,C語言的設(shè)計(jì)目標(biāo)是提供一種能以簡易的方式編譯、處理低級(jí)存儲(chǔ)器、僅產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語言。
C語言誕生于美國的貝爾實(shí)驗(yàn)室由丹尼斯里奇以肯湯普森設(shè)計(jì)的B語言為基礎(chǔ)發(fā)展而來在它的主體設(shè)計(jì)完成后,湯普森和里奇用它完全重寫了UNIX且隨著UNIX的發(fā)展c語言也得到了不斷的完善。
C語言繼續(xù)發(fā)展在1982年很多有識(shí)之士和美國國家標(biāo)準(zhǔn)協(xié)會(huì)為了使C語言健康地發(fā)展下去決定成立C標(biāo)準(zhǔn)委員會(huì)建立C語言的標(biāo)準(zhǔn),委員會(huì)由硬件廠商編譯器及其他軟件工具生產(chǎn)商軟件設(shè)計(jì)師顧問學(xué)術(shù)界人士C語言作者和應(yīng)用程序員組成。
在 C 和 C++ 中,不接收任何參數(shù)也不返回任何信息的主函數(shù)原型為“void main(void)”。
可能正是因?yàn)檫@個(gè),所以很多人都誤認(rèn)為如果不需要程序返回任何信息時(shí)可以把 main 函數(shù)定義成 void main(void) 。然而這是錯(cuò)誤的!main 函數(shù)的返回值應(yīng)該定義為 int 類型,C 和 C++ 標(biāo)準(zhǔn)中都是這樣規(guī)定的。雖然在一些編譯器中,void main 可以通過編譯(如 vc6),但并非所有編譯器都支持 void main ,因?yàn)闃?biāo)準(zhǔn)中從來沒有定義過 void main 。g++3.2 中如果 main 函數(shù)的返回值不是 int 類型,就根本通不過編譯。而 gcc3.2 則會(huì)發(fā)出警告。所以,如果你想你的程序擁有很好的可移植性,請(qǐng)一定要用 int main 。
來源:
空函數(shù)是不是沒有內(nèi)容的函數(shù)吧,不會(huì)閑來無事自己寫個(gè)空函數(shù)吧,寫上的話也是為了暫時(shí)記憶有個(gè)這樣的函數(shù),內(nèi)容以后再添加上來吧;
無參函數(shù),無參函數(shù)不引用參數(shù),但是函數(shù)是有內(nèi)容要執(zhí)行的。
如果定義函數(shù)時(shí)只給出一對(duì)花括號(hào){}而不給出其局部變量和函數(shù)體語句,則稱該函數(shù)為“空函數(shù)”。\x0d\x0a空函數(shù)的作用:\x0d\x0a(1)程序設(shè)計(jì)過程的需要。在設(shè)計(jì)模塊時(shí),對(duì)于一些細(xì)節(jié)問題或功能在以后需要時(shí)再加上。這樣可在將來準(zhǔn)備擴(kuò)充的地方寫上一個(gè)空函數(shù),這樣可使程序的結(jié)構(gòu)清晰,可讀性好,而且易于擴(kuò)充。\x0d\x0a(2)在C++程序中,可以將基類中的虛函數(shù)定義為空函數(shù),通過派生類去實(shí)例化,實(shí)現(xiàn)多態(tài)。\x0d\x0a\x0d\x0a對(duì)于你所說的“void表示主函數(shù)為空函數(shù),沒有返回值”:\x0d\x0avoid 函數(shù)名(參數(shù));這種形式的函數(shù)定義,是說所定義的函數(shù)沒有返回值。沒有返回值(也就是函數(shù)體內(nèi)沒有return語句),是指函數(shù)只是完成一系列動(dòng)作,不需要返回值給調(diào)用函數(shù);或者返回值是通過指針等方式返回給調(diào)用函數(shù)的。
int
add
(
int
a
,
int
b
)
{
return
a+b
;
}
void
main()
{
int
a
=
2
;
int
b
=
3
;
int
c
;
c
=
add(a
,
b
);
}
某些函數(shù)運(yùn)行完了需要它反饋一個(gè)值,就用返回值唄,void就是不需要這個(gè)函數(shù)反饋什么內(nèi)容。
中文翻譯為"無類型"。又名“空函數(shù)”
常用在程序編寫中對(duì)定義函數(shù)的參數(shù)類型、返回值、函數(shù)中指針類型進(jìn)行聲明。
void的字面意思是"無類型",void *則為"無類型指針",void *可以指向任何類型的數(shù)據(jù)。
擴(kuò)展資料:
C語言中的void的用法
void最常見的用法,就是在函數(shù)中限定函數(shù)的參數(shù)和返回值的 void draw(void); 表明函數(shù)draw沒有參數(shù)也沒有返回值,void在別的的地方的應(yīng)用并不存在。
實(shí)際上,如果把void 和int,char,double等類型放到一起理解的話,首先還是那句揭示本質(zhì)的話:變量類型就是固定大小內(nèi)存塊的別名。
那么void占用多大內(nèi)存呢,編譯器并沒有定義void占用多大內(nèi)存,所以對(duì)于void var; 這樣的定義,編譯器自然是不允許的,在vs中的錯(cuò)誤提示是:不允許使用不完整的類型。
參考鏈接:百度百科—void