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中文網其他相關文章!