首頁  >  文章  >  後端開發  >  c語言中void的意義

c語言中void的意義

藏色散人
藏色散人原創
2020-02-20 10:44:1766703瀏覽

c語言中void的意義

c語言中void的意思

1、void的意思:

建議: 《c語言教程

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 );

更多程式相關內容,請關注php中文網程式設計入門欄位!

以上是c語言中void的意義的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn