c語言中,void的意思是“無類型”,相應(yīng)的“void *”為無類型指針,常用在程序編寫中對定義函數(shù)的參數(shù)類型、返回值、函數(shù)中指針類型進(jìn)行聲明,其作用是對函數(shù)返回和參數(shù)的進(jìn)行限定。
創(chuàng)新互聯(lián)是一家專業(yè)提供開魯企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為開魯眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
void 可以作為函數(shù)返回值類型,有void就代表沒有返回值。在定義的函數(shù)中,有的函數(shù)前是void有的是int或者float等等數(shù)據(jù)類型,此時(shí)它們被稱為函數(shù)的返回值類型。當(dāng)返回值類型為void時(shí),稱這個(gè)函數(shù)返回空,或者這個(gè)函數(shù)無返回值。
c語言void的用法特點(diǎn):
使用void去修飾指針的時(shí)候,這種通用類型的指針可以很方便的和其他類型的指針之間進(jìn)行相關(guān)轉(zhuǎn)換。void另一個(gè)重要的應(yīng)用則就是跟函數(shù)進(jìn)行結(jié)合主要有以下兩個(gè)方面的應(yīng)用:對函數(shù)返回的限定;對函數(shù)參數(shù)的限定。
void類型不能夠用來申明變量和常量,因?yàn)樯昝髯兞康臅r(shí)候需要明確告訴編譯器,該變量是什么類型,比如說是int或char類型,這樣編譯才好為這個(gè)變量去分配存儲(chǔ)空間??偟膩碚f,void應(yīng)用最廣泛的就是跟指針結(jié)合,而void和指針的結(jié)合也大大擴(kuò)展了指針的可能性。
void真正發(fā)揮的作用在于: (1) 對函數(shù)返回的限定; (2) 對函數(shù)參數(shù)的限定。
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);
擴(kuò)展資料:
void不能代表一個(gè)真實(shí)的變量。下面代碼都企圖讓void代表一個(gè)真實(shí)的變量,因此都是錯(cuò)誤的代碼:
void a; //錯(cuò)誤
function(void a); //錯(cuò)誤
void體現(xiàn)了一種抽象,這個(gè)世界上的變量都是“有類型”。
void的出現(xiàn)只是為了一種抽象的需要,如果你正確地理解了面向?qū)ο笾小俺橄蠡悺钡母拍?,也很容易理解void數(shù)據(jù)類型。正如不能給抽象基類定義一個(gè)實(shí)例,我們也不能定義一個(gè)void(讓我們類比的稱void為“抽象數(shù)據(jù)類型”)變量。
參考資料:void(計(jì)算機(jī)語言關(guān)鍵字)_百度百科
void意思是主函數(shù)(main)的數(shù)據(jù)類型空返回值。
void的字面意思是“無類型”,void *則為“無類型指針”,void *可以指向任何類型的數(shù)據(jù)。
沒有返回值的函數(shù):功能只是完成一個(gè)操作,應(yīng)將返回值類型定義為void,函數(shù)體內(nèi)可沒有return語句。
有返回值的函數(shù):函數(shù)的最后會(huì)有一個(gè)返回值return,可以用來獲取該函數(shù)執(zhí)行結(jié)果返回給該函數(shù),讓外部調(diào)用該函數(shù)的。
擴(kuò)展資料
void的使用
示例:
add ( int a, int b )
{
return a + b;
}
int main(int argc, char* argv[])
{
printf ( "2 + 3 = %d", add ( 2, 3) );
}
參考資料來源:?百度百科—void
參考資料來源:百度百科—返回值
void是是C語言的一個(gè)關(guān)鍵字,其含義為空。在C語言中,單獨(dú)的void有兩種用途,均用于函數(shù)中。 1 用于函數(shù)返回值。形式為 void func_name(...); 代表函數(shù)沒有返回值。在這樣的函數(shù)中,調(diào)用return語句時(shí),不需要也不可以有參數(shù)。注意,寫成 func_nmae(...); 的形式,在部分編譯器中可以編譯成功,但并不是沒有返回值,而是有一個(gè)默認(rèn)的整型(int)返回值的意思。 2 用于函數(shù)參數(shù)列表。當(dāng)函數(shù)沒有參數(shù)時(shí),需要定義為 xxx func_name(void); 的形式,表示本函數(shù)不需要任何參數(shù)。注意,如果寫成 xxx func_name(); 的形式,與void不同,不是沒有參數(shù),而是函數(shù)參數(shù)不定,可以接收任何長度的參數(shù)。
void 被翻譯為"無類型",相應(yīng)的void *?為"無類型指針"。常用在程序編寫中對定義函數(shù)的參數(shù)類型、返回值、函數(shù)中指針類型進(jìn)行聲明。
void的作用
1、對函數(shù)返回的限定,這種情況我們比較常見。
2、對函數(shù)參數(shù)的限定,這種情況也是比較常見的。
C語言是一門面向過程的、抽象化的通用程序設(shè)計(jì)語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡易的方式編譯、處理低級存儲(chǔ)器。
C語言是僅產(chǎn)生少量的機(jī)器語言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平臺(tái)的特性,以一個(gè)標(biāo)準(zhǔn)規(guī)格寫出的C語言程序可在包括類似嵌入式處理器以及超級計(jì)算機(jī)等作業(yè)平臺(tái)的許多計(jì)算機(jī)平臺(tái)上進(jìn)行編譯。
void?main()表示函數(shù)無返回值,就是說在程序的結(jié)尾處不需要加上return 0。而return是在函數(shù)體中,用來返回特定值的。
一個(gè)C程序中必須至少有一個(gè)函數(shù),而且其中必須有一個(gè)并且僅有一個(gè)以main為名,這個(gè)函數(shù)稱為主函數(shù),主函數(shù)是整個(gè)程序的入口。
擴(kuò)展資料:
基本數(shù)據(jù)類型
void:聲明函數(shù)無返回值或無參數(shù),聲明無類型指針,顯示丟棄運(yùn)算結(jié)果。(C89標(biāo)準(zhǔn)新增)
char:字符型類型數(shù)據(jù),屬于整型數(shù)據(jù)的一種。(KR時(shí)期引入)
int:整型數(shù)據(jù),表示范圍通常為編譯器指定的內(nèi)存字節(jié)長。(KR時(shí)期引入)
float:單精度浮點(diǎn)型數(shù)據(jù),屬于浮點(diǎn)數(shù)據(jù)的一種。(KR時(shí)期引入)
double:雙精度浮點(diǎn)型數(shù)據(jù),屬于浮點(diǎn)數(shù)據(jù)的一種。(KR時(shí)期引入)
_Bool:布爾型(C99標(biāo)準(zhǔn)新增)
_Complex:復(fù)數(shù)的基本類型(C99標(biāo)準(zhǔn)新增)
_Imaginary:虛數(shù),與復(fù)數(shù)基本類型相似,沒有實(shí)部的純虛數(shù)(C99標(biāo)準(zhǔn)新增)
_Generic:提供重載的接口入口(C11標(biāo)準(zhǔn)新增)
參考資料來源:百度百科-C語言
分享標(biāo)題:void函數(shù)c語言,調(diào)用void函數(shù) C語言
網(wǎng)頁網(wǎng)址:http://chinadenli.net/article38/hddipp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站導(dǎo)航、App開發(fā)、網(wǎng)站內(nèi)鏈、網(wǎng)站維護(hù)、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)