c語(yǔ)言中允許定義空函數(shù)。
目前創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、淅川網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
C語(yǔ)言是一門面向過(guò)程的抽象化的通用程序設(shè)計(jì)語(yǔ)言廣泛應(yīng)用于底層開(kāi)發(fā)C語(yǔ)言能以簡(jiǎn)易的方式編譯處理低級(jí)存儲(chǔ)器,C語(yǔ)言是僅產(chǎn)生少量的機(jī)器語(yǔ)言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語(yǔ)言。
簡(jiǎn)介
C語(yǔ)言是一門面向過(guò)程的計(jì)算機(jī)編程語(yǔ)言與C++、C#、Java等面向?qū)ο缶幊陶Z(yǔ)言有所不同,C語(yǔ)言的設(shè)計(jì)目標(biāo)是提供一種能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器、僅產(chǎn)生少量的機(jī)器碼以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的編程語(yǔ)言。
C語(yǔ)言誕生于美國(guó)的貝爾實(shí)驗(yàn)室由丹尼斯里奇以肯湯普森設(shè)計(jì)的B語(yǔ)言為基礎(chǔ)發(fā)展而來(lái)在它的主體設(shè)計(jì)完成后,湯普森和里奇用它完全重寫了UNIX且隨著UNIX的發(fā)展c語(yǔ)言也得到了不斷的完善。
C語(yǔ)言繼續(xù)發(fā)展在1982年很多有識(shí)之士和美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)為了使C語(yǔ)言健康地發(fā)展下去決定成立C標(biāo)準(zhǔn)委員會(huì)建立C語(yǔ)言的標(biāo)準(zhǔn),委員會(huì)由硬件廠商編譯器及其他軟件工具生產(chǎn)商軟件設(shè)計(jì)師顧問(wèn)學(xué)術(shù)界人士C語(yǔ)言作者和應(yīng)用程序員組成。
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ù)是不是沒(méi)有內(nèi)容的函數(shù)吧,不會(huì)閑來(lái)無(wú)事自己寫個(gè)空函數(shù)吧,寫上的話也是為了暫時(shí)記憶有個(gè)這樣的函數(shù),內(nèi)容以后再添加上來(lái)吧;
無(wú)參函數(shù),無(wú)參函數(shù)不引用參數(shù),但是函數(shù)是有內(nèi)容要執(zhí)行的。
在 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 可以通過(guò)編譯(如 vc6),但并非所有編譯器都支持 void main ,因?yàn)闃?biāo)準(zhǔn)中從來(lái)沒(méi)有定義過(guò) void main 。g++3.2 中如果 main 函數(shù)的返回值不是 int 類型,就根本通不過(guò)編譯。而 gcc3.2 則會(huì)發(fā)出警告。所以,如果你想你的程序擁有很好的可移植性,請(qǐng)一定要用 int main 。
來(lái)源:
空函數(shù),顧名思義,就是沒(méi)有一條語(yǔ)句的函數(shù),調(diào)用到這函數(shù)什么也不做,直接返回了。
返回值是一個(gè)函數(shù)結(jié)束之后的最后遺言,來(lái)告訴調(diào)用他的人一些情況,可以是函數(shù)的執(zhí)行正確于錯(cuò)誤,或者帶給調(diào)用他的人其他信息,都可以,自己來(lái)定義。而返回值為空,就是本函數(shù)不帶給調(diào)用他的人任何情況。
空函數(shù)和返回值為空沒(méi)有什么聯(lián)系吧。
空函數(shù)完全沒(méi)有任何意義,一般不會(huì)有人寫一個(gè)空函數(shù)給你調(diào)用的,要說(shuō)真有點(diǎn)意義的話,就是浪費(fèi)時(shí)間了,函數(shù)調(diào)用然后返回,多花了很多條指令,浪費(fèi)了一些時(shí)間而已,想不到其他什么意義了。
中文翻譯為"無(wú)類型"。又名“空函數(shù)”
常用在程序編寫中對(duì)定義函數(shù)的參數(shù)類型、返回值、函數(shù)中指針類型進(jìn)行聲明。
void的字面意思是"無(wú)類型",void *則為"無(wú)類型指針",void *可以指向任何類型的數(shù)據(jù)。
擴(kuò)展資料:
C語(yǔ)言中的void的用法
void最常見(jiàn)的用法,就是在函數(shù)中限定函數(shù)的參數(shù)和返回值的 void draw(void); 表明函數(shù)draw沒(méi)有參數(shù)也沒(méi)有返回值,void在別的的地方的應(yīng)用并不存在。
實(shí)際上,如果把void 和int,char,double等類型放到一起理解的話,首先還是那句揭示本質(zhì)的話:變量類型就是固定大小內(nèi)存塊的別名。
那么void占用多大內(nèi)存呢,編譯器并沒(méi)有定義void占用多大內(nèi)存,所以對(duì)于void var; 這樣的定義,編譯器自然是不允許的,在vs中的錯(cuò)誤提示是:不允許使用不完整的類型。
參考鏈接:百度百科—void