c語言中,void的意思是“無類型”,相應的“void *”為無類型指針,常用在程序編寫中對定義函數的參數類型、返回值、函數中指針類型進行聲明,其作用是對函數返回和參數的進行限定。
創新互聯是一家專業提供開魯企業網站建設,專注與網站設計制作、網站設計、成都h5網站建設、小程序制作等業務。10年已為開魯眾多企業、政府機構等服務。創新互聯專業的建站公司優惠進行中。
void 可以作為函數返回值類型,有void就代表沒有返回值。在定義的函數中,有的函數前是void有的是int或者float等等數據類型,此時它們被稱為函數的返回值類型。當返回值類型為void時,稱這個函數返回空,或者這個函數無返回值。
c語言void的用法特點:
使用void去修飾指針的時候,這種通用類型的指針可以很方便的和其他類型的指針之間進行相關轉換。void另一個重要的應用則就是跟函數進行結合主要有以下兩個方面的應用:對函數返回的限定;對函數參數的限定。
void類型不能夠用來申明變量和常量,因為申明變量的時候需要明確告訴編譯器,該變量是什么類型,比如說是int或char類型,這樣編譯才好為這個變量去分配存儲空間。總的來說,void應用最廣泛的就是跟指針結合,而void和指針的結合也大大擴展了指針的可能性。
void真正發揮的作用在于: (1) 對函數返回的限定; (2) 對函數參數的限定。
1、void的含義:
void的字面意思是“無類型”,void *則為“無類型指針”,void *可以指向任何類型的數據。
void幾乎只有“注釋”和限制程序的作用,因為從來沒有人會定義一個void變量,讓我們試著來定義:
void a;
這行語句編譯時會出錯,提示“illegal use of type 'void'”。不過,即使void a的編譯不會出錯,它也沒有任何實際意義。
2、void的使用規則:
規則一:如果函數沒有返回值,那么應聲明為void類型
在C語言中,凡不加返回值類型限定的函數,就會被編譯器作為返回整型值處理。但是許多程序員卻誤以為其為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,這說明不加返回值說明的函數的確為int函數。
規則二:如果函數無參數,那么應聲明其參數為void。
在C++語言中聲明一個這樣的函數:
int function(void)
{
return 1;
}
則進行下面的調用是不合法的:
function(2);
因為在C++中,函數參數為void的意思是這個函數不接受任何參數。在Turbo C 2.0中編譯:
#include "stdio.h"
fun()
{
return 1;
}
main()
{
printf("%d",fun(2));
getchar();
}
編譯正確且輸出1,這說明,在C語言中,可以給無參數的函數傳送任意類型的參數,但是在C++編譯器中編譯同樣的代碼則會出錯。在C++中,不能向無參數的函數傳送任何參數,出錯提示“'fun' : function does not take 1 parameters”。
所以,無論在C還是C++中,若函數不接受任何參數,一定要指明參數為void。
3、void具體使用例子:
定義函數
返回值 函數名(參數1,參數2,參數3,.......)
{內容}
int ?sum(int a,int b)
{
int c;
return c;}
其中第一個int是返回值 就是別的函數調用此函數時這個函數給他的一個值。
如果調用時不需要返回值,則函數寫為
void sum(int a,int b){....} ?此時函數沒有返回值
如果不需要參數 ?則int sum(void){...}
此時void的意義為空,就是沒有參數的意思
如果都不要 ?則為void sum(void);
擴展資料:
void不能代表一個真實的變量。下面代碼都企圖讓void代表一個真實的變量,因此都是錯誤的代碼:
void a; //錯誤
function(void a); //錯誤
void體現了一種抽象,這個世界上的變量都是“有類型”。
void的出現只是為了一種抽象的需要,如果你正確地理解了面向對象中“抽象基類”的概念,也很容易理解void數據類型。正如不能給抽象基類定義一個實例,我們也不能定義一個void(讓我們類比的稱void為“抽象數據類型”)變量。
參考資料:void(計算機語言關鍵字)_百度百科
void意思是主函數(main)的數據類型空返回值。
void的字面意思是“無類型”,void *則為“無類型指針”,void *可以指向任何類型的數據。
沒有返回值的函數:功能只是完成一個操作,應將返回值類型定義為void,函數體內可沒有return語句。
有返回值的函數:函數的最后會有一個返回值return,可以用來獲取該函數執行結果返回給該函數,讓外部調用該函數的。
擴展資料
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語言的一個關鍵字,其含義為空。在C語言中,單獨的void有兩種用途,均用于函數中。 1 用于函數返回值。形式為 void func_name(...); 代表函數沒有返回值。在這樣的函數中,調用return語句時,不需要也不可以有參數。注意,寫成 func_nmae(...); 的形式,在部分編譯器中可以編譯成功,但并不是沒有返回值,而是有一個默認的整型(int)返回值的意思。 2 用于函數參數列表。當函數沒有參數時,需要定義為 xxx func_name(void); 的形式,表示本函數不需要任何參數。注意,如果寫成 xxx func_name(); 的形式,與void不同,不是沒有參數,而是函數參數不定,可以接收任何長度的參數。
void 被翻譯為"無類型",相應的void *?為"無類型指針"。常用在程序編寫中對定義函數的參數類型、返回值、函數中指針類型進行聲明。
void的作用
1、對函數返回的限定,這種情況我們比較常見。
2、對函數參數的限定,這種情況也是比較常見的。
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用于底層開發。C語言能以簡易的方式編譯、處理低級存儲器。
C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。盡管C語言提供了許多低級處理的功能,但仍然保持著跨平臺的特性,以一個標準規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平臺的許多計算機平臺上進行編譯。
void?main()表示函數無返回值,就是說在程序的結尾處不需要加上return 0。而return是在函數體中,用來返回特定值的。
一個C程序中必須至少有一個函數,而且其中必須有一個并且僅有一個以main為名,這個函數稱為主函數,主函數是整個程序的入口。
擴展資料:
基本數據類型
void:聲明函數無返回值或無參數,聲明無類型指針,顯示丟棄運算結果。(C89標準新增)
char:字符型類型數據,屬于整型數據的一種。(KR時期引入)
int:整型數據,表示范圍通常為編譯器指定的內存字節長。(KR時期引入)
float:單精度浮點型數據,屬于浮點數據的一種。(KR時期引入)
double:雙精度浮點型數據,屬于浮點數據的一種。(KR時期引入)
_Bool:布爾型(C99標準新增)
_Complex:復數的基本類型(C99標準新增)
_Imaginary:虛數,與復數基本類型相似,沒有實部的純虛數(C99標準新增)
_Generic:提供重載的接口入口(C11標準新增)
參考資料來源:百度百科-C語言
分享標題:void函數c語言,調用void函數 C語言
網頁網址:http://m.kartarina.com/article38/hddipp.html
成都網站建設公司_創新互聯,為您提供面包屑導航、網站導航、App開發、網站內鏈、網站維護、
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯