C語(yǔ)言中,如果要函數(shù)不返回值,則應(yīng)該吧函數(shù)的類型定義為“void”。
創(chuàng)新互聯(lián)主營(yíng)江蘇網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶App定制開(kāi)發(fā),江蘇h5微信平臺(tái)小程序開(kāi)發(fā)搭建,江蘇網(wǎng)站營(yíng)銷推廣歡迎江蘇等地區(qū)企業(yè)咨詢
在將函數(shù)定義為void類型的情況下在主調(diào)函數(shù)中調(diào)用該函數(shù),該函數(shù)調(diào)用表達(dá)式不能被用作子表達(dá)式給其他變量賦值。
void的字面意思是“無(wú)類型”,void *則為“無(wú)類型指針”,void *可以指向任何類型的數(shù)據(jù)。
擴(kuò)展資料:
void類型指針要注意規(guī)則:
1、void 指針是一種特殊的指針,表示為“無(wú)類型指針”,在 ANSI C 中使用它來(lái)代替“char*”作為通用指針的類型。由于 void 指針沒(méi)有特定的類型,因此它可以指向任何類型的數(shù)據(jù)。
2、void*類型只有地址信息沒(méi)有類型信息,所以不能計(jì)算偏移。
3、要將void指針賦值給其他類型的指針,必須進(jìn)行強(qiáng)制類型轉(zhuǎn)換。
4、在編程中,如果函數(shù)的參數(shù)可以是任意類型指針,那么應(yīng)該使用 void 指針作為函數(shù)的形參,這樣函數(shù)就可以接受任意數(shù)據(jù)類型的指針作為參數(shù)。
void使用注意:
1、如果函數(shù)沒(méi)有返回值,那么應(yīng)聲明為void類型,在C語(yǔ)言中,凡不加返回值類型限定的函數(shù),就會(huì)被編譯器作為返回整型值處理。但是許多程序員卻誤以為其為void類型。
2、如果函數(shù)無(wú)參數(shù),那么應(yīng)聲明其參數(shù)為void。
3、void不能代表一個(gè)真實(shí)的變量
參考資料來(lái)源:百度百科-void
c語(yǔ)言void的意思是無(wú)返回?cái)?shù)值。
void真正發(fā)揮的作用在于:對(duì)函數(shù)返回的限定。對(duì)函數(shù)參數(shù)的限定。
如果把void和int,char,double等類型放到一起理解的話,首先還是那句揭示本質(zhì)的話:變量類型就是固定大小內(nèi)存塊的別名,那么void占用多大內(nèi)存呢,編譯器并沒(méi)有定義void占用多大內(nèi)存,所以對(duì)于void var;這樣的定義。
選擇結(jié)構(gòu):
對(duì)于要先做判斷再選擇的問(wèn)題就要使用選擇結(jié)構(gòu)。選擇結(jié)構(gòu)的執(zhí)行是依據(jù)一定的條件選擇執(zhí)行路徑,而不是嚴(yán)格按照語(yǔ)句出現(xiàn)的物理順序。選擇結(jié)構(gòu)的程序設(shè)計(jì)方法的關(guān)鍵在于構(gòu)造合適的分支條件和分析程序流程,根據(jù)不同的程序流程選擇適當(dāng)?shù)倪x擇語(yǔ)句。
選擇結(jié)構(gòu)適合于帶有邏輯或關(guān)系比較等條件判斷的計(jì)算,設(shè)計(jì)這類程序時(shí)往往都要先繪制其程序流程圖,然后根據(jù)程序流程寫出源程序,這樣做把程序設(shè)計(jì)分析與語(yǔ)言分開(kāi),使得問(wèn)題簡(jiǎn)單化,易于理解。程序流程圖是根據(jù)解題分析所繪制的程序執(zhí)行流程圖。
void 被翻譯為"無(wú)類型",相應(yīng)的void *?為"無(wú)類型指針"。常用在程序編寫中對(duì)定義函數(shù)的參數(shù)類型、返回值、函數(shù)中指針類型進(jìn)行聲明。
void 的作用
1.對(duì)函數(shù)返回的限定,這種情況我們比較常見(jiàn)。
2.對(duì)函數(shù)參數(shù)的限定,這種情況也是比較常見(jiàn)的。
一般我們常見(jiàn)的就是這兩種情況:
(1)當(dāng)函數(shù)不需要返回值值時(shí),必須使用void限定,這就是我們所說(shuō)的第一種情況。例如:void func(int a,char *b)。
(2)0當(dāng)函數(shù)不允許接受參數(shù)時(shí),必須使用void限定,這就是我們所說(shuō)的第二種情況。例如:int func(void)。
擴(kuò)展資料:
2011年10月12日,C語(yǔ)言之父丹尼斯·里奇辭世,在眾多的國(guó)際互動(dòng)論壇上,計(jì)算機(jī)愛(ài)好者們以特有的方式紀(jì)念這位編程語(yǔ)言的重要奠基人。許多網(wǎng)友的發(fā)帖中沒(méi)有片言只字,僅僅留下一個(gè)分號(hào)“;”。
在日益紛繁復(fù)雜的程序設(shè)計(jì)語(yǔ)言王國(guó)中,C語(yǔ)言因其簡(jiǎn)潔、有效、通用的特性而始終占據(jù)一席之地。被譽(yù)為“C語(yǔ)言之父”,同時(shí)也是操作系統(tǒng)Unix之父的C語(yǔ)言發(fā)明人之一——丹尼斯·里奇10月9日以70歲之齡辭世。
盡管通過(guò)Unix拿獎(jiǎng)拿到手軟,但令里奇引起最大關(guān)注和反響的則是C語(yǔ)言的問(wèn)世。1999年,里奇和湯普遜為發(fā)展C語(yǔ)言和Unix操作系統(tǒng)一起獲得了美國(guó)國(guó)家技術(shù)獎(jiǎng)?wù)隆?/p>
參考資料:
百度百科-Void
百度百科-C語(yǔ)言關(guān)鍵字
void在C語(yǔ)言里是指不帶返回值的意思。跟函數(shù)一起用。
1.void的含義
void的字面意思是“無(wú)類型”,void *則為“無(wú)類型指針”,void *可以指向任何類型的數(shù)據(jù)。
這行語(yǔ)句編譯時(shí)會(huì)出錯(cuò),提示“illegal use of type 'void'”。不過(guò),即使void a的編譯不會(huì)出錯(cuò),它也沒(méi)有任何實(shí)際意義。
void真正發(fā)揮的作用在于:
(1) 對(duì)函數(shù)返回的限定;
(2) 對(duì)函數(shù)參數(shù)的限定。
如果指針p1和p2的類型相同,那么我們可以直接在p1和p2間互相賦值;如果p1和p2指向不同的數(shù)據(jù)類型,則必須使用強(qiáng)制類型
轉(zhuǎn)換運(yùn)算符把賦值運(yùn)算符右邊的指針類型轉(zhuǎn)換為左邊指針的類型。
例如:
float *p1;
int *p2;
p1 = p2;
其中p1 = p2語(yǔ)句會(huì)編譯出錯(cuò),提示“'=' : cannot convert from 'int *' to 'float *'”,必須改為:
p1 = (float *)p2;
而void *則不同,任何類型的指針都可以直接賦值給它,無(wú)需進(jìn)行強(qiáng)制類型轉(zhuǎn)換:
void *p1;
int *p2;
p1 = p2;
但這并不意味著,void *也可以無(wú)需強(qiáng)制類型轉(zhuǎn)換地賦給其它類型的指針。因?yàn)椤盁o(wú)類型”可以包容“有類型”,而“有類型”則不能包
容“無(wú)類型”。道理很簡(jiǎn)單,我們可以說(shuō)“男人和女人都是人”,但不能說(shuō)“人是男人”或者“人是女人”。下面的語(yǔ)句編譯出錯(cuò):
void *p1;
int *p2;
p2 = p1;
提示“'=' : cannot convert from 'void *' to 'int *'”。
2.void的使用
使用規(guī)則:
如果函數(shù)沒(méi)有返回值,那么應(yīng)聲明為void類型
在C語(yǔ)言中,凡不加返回值類型限定的函數(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
這說(shuō)明不加返回值說(shuō)明的函數(shù)的確為int函數(shù)。
補(bǔ)充:void 中文翻譯為"無(wú)類型"。常用在程序編寫中對(duì)定義函數(shù)的參數(shù)類型、返回值、函數(shù)中指針類型進(jìn)行聲明。
void的字面意思是"無(wú)類型",void *則為"無(wú)類型指針",void *可以指向任何類型的數(shù)據(jù)。
在C語(yǔ)言中,凡不加返回值類型限定的函數(shù),就會(huì)被編譯器作為返回整型值處理。但是許多程序員卻誤以為其為void類型。