c語言中void的含義是什么?如何使用?相信有很多人都不太了解,今天小編為了讓大家更加了解c語言中void,所以給大家總結了以下內(nèi)容,一起往下看吧。
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ù)沒有返回值,那么應聲明為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) ); }
程序運行的結果為輸出:2 + 3 = 5,這說明不加返回值說明的函數(shù)的確為int函數(shù)。
規(guī)則二:如果函數(shù)無參數(shù),那么應聲明其參數(shù)為void。
在C++語言中聲明一個這樣的函數(shù):
int function(void) { return 1; } 則進行下面的調用是不合法的: 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ù)調用此函數(shù)時這個函數(shù)給他的一個值。
如果調用時不需要返回值,則函數(shù)寫為
void sum(int a,int b){....} 此時函數(shù)沒有返回值
如果不需要參數(shù) 則int sum(void){...}
此時void的意義為空,就是沒有參數(shù)的意思
如果都不要 則為void sum(void);
關于c語言中void的含義是什么?如何使用就分享到這里了,希望以上內(nèi)容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
分享標題:c語言中void的含義是什么?如何使用?-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://chinadenli.net/article24/dechce.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、企業(yè)建站、外貿(mào)建站、做網(wǎng)站、商城網(wǎng)站、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)