您好,登錄后才能下訂單哦!
c語言中void的含義是什么?如何使用?相信有很多人都不太了解,今天小編為了讓大家更加了解c語言中void,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。
c語言中void的含義
1、void的含義:
void的字面意思是“無類型”,void *則為“無類型指針”,void *可以指向任何類型的數(shù)據(jù)。
void幾乎只有“注釋”和限制程序的作用,因?yàn)閺膩頉]有人會(huì)定義一個(gè)void變量,讓我們試著來定義:
void a;
這行語句編譯時(shí)會(huì)出錯(cuò),提示“illegal use of type 'void'”。不過,即使void a的編譯不會(huì)出錯(cuò),它也沒有任何實(shí)際意義。
2、void的使用規(guī)則:
規(guī)則一:如果函數(shù)沒有返回值,那么應(yīng)聲明為void類型
在C語言中,凡不加返回值類型限定的函數(shù),就會(huì)被編譯器作為返回整型值處理。但是許多程序員卻誤以為其為void類型。例如:
add ( int a, int b ) { return a + b; } int main(int argc, char* argv[]) { printf ( "2 + 3 = %d", add ( 2, 3) ); }
程序運(yùn)行的結(jié)果為輸出:2 + 3 = 5,這說明不加返回值說明的函數(shù)的確為int函數(shù)。
規(guī)則二:如果函數(shù)無參數(shù),那么應(yīng)聲明其參數(shù)為void。
在C++語言中聲明一個(gè)這樣的函數(shù):
int function(void) { return 1; } 則進(jìn)行下面的調(diào)用是不合法的: function(2); 因?yàn)樵贑++中,函數(shù)參數(shù)為void的意思是這個(gè)函數(shù)不接受任何參數(shù)。在Turbo C 2.0中編譯: #include "stdio.h" fun() { return 1; } main() { printf("%d",fun(2)); getchar(); }
編譯正確且輸出1,這說明,在C語言中,可以給無參數(shù)的函數(shù)傳送任意類型的參數(shù),但是在C++編譯器中編譯同樣的代碼則會(huì)出錯(cuò)。在C++中,不能向無參數(shù)的函數(shù)傳送任何參數(shù),出錯(cuò)提示“'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;}
其中第一個(gè)int是返回值 就是別的函數(shù)調(diào)用此函數(shù)時(shí)這個(gè)函數(shù)給他的一個(gè)值。
如果調(diào)用時(shí)不需要返回值,則函數(shù)寫為
void sum(int a,int b){....} 此時(shí)函數(shù)沒有返回值
如果不需要參數(shù) 則int sum(void){...}
此時(shí)void的意義為空,就是沒有參數(shù)的意思
如果都不要 則為void sum(void);
關(guān)于c語言中void的含義是什么?如何使用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。