c語言中void的含義是什么?如何使用?相信有很多人都不太了解,今天小編為了讓大家更加了解c語言中void,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。
大祥網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)從2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。c語言中void的含義
1、void的含義:
void的字面意思是“無類型”,void *則為“無類型指針”,void *可以指向任何類型的數(shù)據(jù)。
void幾乎只有“注釋”和限制程序的作用,因為從來沒有人會定義一個void變量,讓我們試著來定義:
void a;
這行語句編譯時會出錯,提示“illegal use of type 'void'”。不過,即使void a的編譯不會出錯,它也沒有任何實際意義。
2、void的使用規(guī)則:
規(guī)則一:如果函數(shù)沒有返回值,那么應(yīng)聲明為void類型
在C語言中,凡不加返回值類型限定的函數(shù),就會被編譯器作為返回整型值處理。但是許多程序員卻誤以為其為void類型。例如:
add ( int a, int b ) { return a + b; } int main(int argc, char* argv[]) { printf ( "2 + 3 = %d", add ( 2, 3) ); }
程序運行的結(jié)果為輸出:2 + 3 = 5,這說明不加返回值說明的函數(shù)的確為int函數(shù)。
規(guī)則二:如果函數(shù)無參數(shù),那么應(yīng)聲明其參數(shù)為void。
在C++語言中聲明一個這樣的函數(shù):
int function(void) { return 1; } 則進行下面的調(diào)用是不合法的: function(2); 因為在C++中,函數(shù)參數(shù)為void的意思是這個函數(shù)不接受任何參數(shù)。在Turbo C 2.0中編譯: #include "stdio.h" fun() { return 1; } main() { printf("%d",fun(2)); getchar(); }
編譯正確且輸出1,這說明,在C語言中,可以給無參數(shù)的函數(shù)傳送任意類型的參數(shù),但是在C++編譯器中編譯同樣的代碼則會出錯。在C++中,不能向無參數(shù)的函數(shù)傳送任何參數(shù),出錯提示“'fun' : function does not take 1 parameters”。
所以,無論在C還是C++中,若函數(shù)不接受任何參數(shù),一定要指明參數(shù)為void。
3、void具體使用例子:
定義函數(shù)
返回值 函數(shù)名(參數(shù)1,參數(shù)2,參數(shù)3,.......) {內(nèi)容} int sum(int a,int b) { int c; return c;}
其中第一個int是返回值 就是別的函數(shù)調(diào)用此函數(shù)時這個函數(shù)給他的一個值。
如果調(diào)用時不需要返回值,則函數(shù)寫為
void sum(int a,int b){....} 此時函數(shù)沒有返回值
如果不需要參數(shù) 則int sum(void){...}
此時void的意義為空,就是沒有參數(shù)的意思
如果都不要 則為void sum(void);
關(guān)于c語言中void的含義是什么?如何使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的參考價值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。