C語言程序中,若函數(shù)無返回值,則應(yīng)該對函數(shù)說明的類型是void。

創(chuàng)新互聯(lián)建站長期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為滄源企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè),滄源網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
如果函數(shù)所體現(xiàn)的計算不需要返回結(jié)果,則數(shù)據(jù)類型可以指定為void類型。
注意,這種情況下在主調(diào)函數(shù)中調(diào)用該函數(shù),該函數(shù)調(diào)用表達(dá)式不能被用作子表達(dá)式給其他變量賦值。
void的字面意思是“無類型”,void *則為“無類型指針”,void *可以指向任何類型的數(shù)據(jù)。
擴(kuò)展資料
使用void類型指針要注意的幾條規(guī)則:
1、void*類型只有地址信息沒有類型信息,所以不能計算偏移。
C/C++中的指針通常來說有兩個屬性:
(1)指向變量
(2)指向?qū)ο蟮牡刂泛烷L度
指針其實就是存儲被指向變量的地址,并不保存其長度;而且存的這個地址僅是變量的首地址,并不是該變量占據(jù)內(nèi)存的所有地址空間。
2、任何指針(包括函數(shù)指針)都可以賦值給void指針。
特點:
(1)不需要類型轉(zhuǎn)換;
(2)只獲得變量/對象地址而不獲得大小。
3、void指針賦值給其他類型的指針時都要進(jìn)行轉(zhuǎn)換。
特點:轉(zhuǎn)換類型也就是獲得指向變量/對象大小。
4、void指針在強(qiáng)制轉(zhuǎn)換成具體類型前,不能解引用。
原因:void指針只知道指向變量/對象的起始地址,而不知道指向變量/對象的大小(占幾個字節(jié))所以無法正確引用。
5、void指針不能參與指針運(yùn)算,除非進(jìn)行轉(zhuǎn)換。
沒有返回類型是不對的,任何函數(shù)都有返回值,只不過可以返回void型(不能完全等同于沒有返回值,因為必須注明void),如果定義函數(shù)時缺省返回值類型,則默認(rèn)int型。
如果函數(shù)沒有返回值,那么應(yīng)定義為void類型。
void的字面意思是“無類型”,void *則為“無類型指針”,void *可以指向任何類型的數(shù)據(jù)。
void幾乎只有“注釋”和限制程序的作用,定義一個void變量沒有意義,不妨試著定義:
void的作用在于:
1、對函數(shù)返回的限定:如果函數(shù)沒有返回值,那么應(yīng)聲明為void類型。
2、對函數(shù)參數(shù)的限定:如果函數(shù)無參數(shù),那么應(yīng)聲明其參數(shù)為void;如果函數(shù)的參數(shù)可以是任意類型指針,那么應(yīng)聲明其參數(shù)為void *。
擴(kuò)展資料:
void的使用舉例:
在C++語言中聲明一個這樣的函數(shù):
int function(void)
{
return?1;
}
則進(jìn)行下面的調(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ù)。
所以,無論在C還是C++中,若函數(shù)不接受任何參數(shù),一定要指明參數(shù)為void。
參考資料來源:百度百科-void
本文名稱:c語言函數(shù)沒有返回值類型,c語言中的函數(shù)返回值
地址分享:http://chinadenli.net/article38/dsgojsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、靜態(tài)網(wǎng)站、做網(wǎng)站、服務(wù)器托管、用戶體驗、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)