c語言中void函式的返回值是怎麼回事例如下面這

2021-12-28 00:38:43 字數 4448 閱讀 9594

1樓:匿名使用者

void 是沒有返回值的 如果要有返回值 void的地方改成返回值得型別 如 string int 等 然後再程式的最後一行 增加 return 你要返回的值即可

2樓:匿名使用者

void 代表空返回值。即無返回值

所給的案例中,swap函式是一個無返回值函式但是該函式帶兩個輸入引數

當主函式呼叫該函式時

只需要給定兩個輸入引數即可

該函式執行完畢後,無返回值

接下來繼續往下執行,執行printf語句。

3樓:匿名使用者

被調函式根本就沒有傳引數回主函式。這裡使用的是指標來改變變數的值。這裡傳的引數是指標,也就是變數的地址。在呼叫函式裡面用地址改變了變數的值。可能你要對指標多一些理解

4樓:千江月

這裡是指標傳值,修改指標指向的資料,導致資料修改----------------

但是這個程式有些問題

修改一下

#include

void swap(int *p,int *q); //c、c++不支援函式巢狀定義

int main()

void swap(int *p,int *q)

5樓:匿名使用者

沒有return 就沒有返回值

你這個使用的是指標引數,指標被該變原來的值也被改變

6樓:匿名使用者

#include

int main()

void swap(int *p,int *q)//p q是記憶體地址,完成p和q所指向的值交換

7樓:匿名使用者

返回型別定為void是指沒有返回值。

函式返回有兩種方式一種是通過返回值返回,一種是通過出參返回。

當一個引數是以指標地址形式傳入函式的時候,就很有可能是出參。一個函式使用地址傳入資料,他保證地址不變的情況下,改變地址所指向的值,這樣就可以做到雙向傳輸了。

就如void swap(int *p,int *q).函式傳入了p和q兩個地址,而函式內部對p和q的兩個地址所指向的數值進行了交換,這樣函式表面看起來沒有返回值,其實他的兩個形參所指向的數值變化了,也就是完成了函式功能了。

c語言中void是什麼意思

8樓:匿名使用者

void 被翻譯為"無型別",相應的void * 為"無型別指標"。常用在程式編寫中對定義函式的引數型別、返回值、函式中指標型別進行宣告。

void 的作用

1.對函式返回的限定,這種情況我們比較常見。

2.對函式引數的限定,這種情況也是比較常見的。

一般我們常見的就是這兩種情況:

(1)當函式不需要返回值值時,必須使用void限定,這就是我們所說的第一種情況。例如:void func(int a,char *b)。

(2)0當函式不允許接受引數時,必須使用void限定,這就是我們所說的第二種情況。例如:int func(void)。

9樓:匿名使用者

void的意思就是樓主說的2個意思,這兩個意思都對。

void真正發揮的作用在於:

(1) 對函式返回的限定;

(2) 對函式引數的限定。

先給一個例子 定義函式

返回值 函式名(引數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);

10樓:匿名使用者

void是指此函式沒有返回值,而main是函式名,void main 是無返回值的主函式。

c語言是一種結構化的語言,以函式為模組,而無論程式多麼大,主函式有且只能有一個。

關於什麼時候用,這個要看你想把主函式寫到什麼位置了,無論你把主函式寫到什麼位置,c語言總是先從主函式開始執行的。

11樓:匿名使用者

void 的字面意思是「空型別」,void *則為「空型別指標」,void *可以指向任何型別的資料。

看這裡,很詳細

12樓:匿名使用者

void就無需返回值的函式型別符

13樓:善緣戀

定義的什麼 函式就返回什麼 void就是返回空 說白了 就是什麼都不返回 返回值 知道嗎

14樓:泥潭裡的金魚

void中最有用的屬"void*"這個萬能的型別定義了;可以代表任何型別,這個方便我們去寫各種介面,解耦的時候很方面將各種結構體封裝起來,不暴露給使用者:

void* func_get_info()

15樓:不典章佳元綠

【void的含義】

void的字面意思是「無型別」,void

*則為「無型別指標」,void

*可以指向任何型別的資料。

void幾乎只有「註釋」和限制程式的作用,因為從來沒有人會定義一個void變數,

void真正發揮的【作用】在於:

(1)對函式返回的限定;

(2)對函式引數的限定。

c語言中一個函式前加了void到底要不要返回值呀!

16樓:風若遠去何人留

函式定義格式為

void func(...);

的形式時,代表函式不需要返回值。這時在函式需要提前退出的時候,只需要呼叫

return;

即可。 不需要任何返回值。

容易混淆的是

void *func(...);

或者類似格式。

void *和void是不同型別,表示需要返回一個指標,這種情況下是需要返回值的。

17樓:湛藍水晶

這幾個函式返回值是void*,表示通用指標,不是void

18樓:匿名使用者

無返回值的return語句,用於void型別函式,而void型別函式可以有return語句,也可以沒return語句.

19樓:匿名使用者

void意思是返回空值,無需寫return語句,

20樓:

那是應該是void*,,,不是void

void*指的是一個指標,它不指向任何一個型別的資料,,,必須轉化後使用,所以你看到在用這些返回值時都有個轉化的過程,,,

21樓:北大青鳥東莞金碼學校

void 用於函式前表示無返回值

如void no_ruturn(void)用於形參表示函式不接受任何引數

而你說的是(void *)這裡的void不表示無返回值 而表示該指標可以指向任何型別

列如void *p1;

iny *p2;

p1=p2;//可以

但是p2=p1//不可以

這就像男人女人都是人 你可以說男人是人 但不可以說人是男人 一樣的道理

應為c規定對指標的操作必須知道指標型別

這也是(void *)型別的指標在使用時必須進行格式轉換的原因也就是說你不能進行類似

void *p1;

p1++;

這樣的操作 應為c不知道p1是個什麼樣的指標 +1到底應該進多少位如果還不明白 建議去複習下指標的工作原理

22樓:鬆睿博

void代表空!不返回任何值!

書也有錯的時候!

盡信書不如無書

c語言程式設計中為什麼自定義函式有的前面加void,有的不加,又與返回值有什麼關係?

23樓:匿名使用者

可以說加不加int是沒有區別的。在ansi c的標準中,main的標準返回值是整型,如果你什麼都沒有加,編譯系統會自動加上int型別的。這時如果你使用gcc的話(vc是沒有的)會有一個警告。

void是無型別,表示沒有返回值,你的主函式如果不需要返回的話,最好加上它。

最後,建議你的主函式顯式的使用int型別,並return 0;這是一個好習慣,開始的時候沒什麼用,時間長了才能看出來。

24樓:匿名使用者

void 是沒有的意思 自定義前面加表示這個自定義函式沒有返回值 如過有返回值會報錯 如果自定義函式前面加int 表示返回一個int數值

c語言的函式返回值,c語言中,函式返回值怎麼用?

所謂返回值,就是人們想要知道函式或者程式所得到 的結果而設計的函式或者程式結束時給出一個值。比如 我們編寫一個加法函式,肯定想知道加完過後的結果是什麼,那麼我們就指定這個結果為該加法程式的返回值。關於返回值的返回 1 函式呼叫語句本身代表其返回值 例如 fun a 那麼 fun a 就是這個返回值。...

什麼是函式返回值,請問PHP中函式的返回值是什麼意思?請詳細解釋下 !!

函式返回值就是你所呼叫的函式返回給你的值。比如說void fun int n,int m 前面的void就說明這個函式是沒返回值的。比如int fun int m 時,這個函式執行以後要返回一個整型數。一 一般的情況,c語言預設的返回值的型別是int整形,其他的函式看其函式前的型別就可以知道這個函式...

c語言中void放在函式前面是什麼意思

void有兩種意思。抄第一種意思是無返回值,也就是說,void放在函式前面,那麼,函式結束的時候,不需要return什麼值 其實也可以寫return 第二種意思是任意返回值。這個意思,在某些應用上很有用。一般用來修飾指標。即void指標。void printhello void 有些函覆數只是一些簡...