在c語言中,void放在函式前面表示什麼意思

2021-03-03 21:00:16 字數 5805 閱讀 5786

1樓:未成年

乙個函式可以有返回值,也可以沒有。

如果有,則需指明型別,如: char *f(),返回字元專串指標型別資料屬,struct ptl f2(),返回乙個結構型資料。

如果沒有,則需加void 指明,如 void f2(),表示不返回任何型別資料。

有的c語言為了使用方便,省略表示返回整形資料,如 f4(),表明函式f4()返回乙個整形資料,系統編製者認為,返回整形資料最為多見。

2樓:與子如初見

表示在函式體中不能出現除了return ;之外的任何return語句,也就是說這個函式是沒有返回值的。

3樓:函淑揭哲

void

printhello(void)

有些bai函式只是一些簡單的螢幕列印,du所以就不需要返回zhi值dao。。。

而且一內個函式只能

容有乙個返回值,一般用於檢查函式執行的情況。。

如果乙個函式要返回多個值,只能使用指標引數。。

c語言:函式前加void是什麼意思?

4樓:_夢幻陽光

每個函式都做一件事,事情做完的話最好告訴別人,函式也是,fun就是乙個人,後面括號裡面的就是傳入引數,也就是別人叫你做的事,fun前面的是返回值,就是你告訴別人這件事做的怎麼樣了,void型別就是空型別,做完了不告訴別人,在函式裡面return ;就行了。寫個簡單的例子

int add(int a,int b)

這個就是把a+b的結果傳出去,因為是int行,所以返回值也是int型,就用int了

5樓:匿名使用者

c語言:函式前加void是表示函式的返回

值為空,void表示空

返回值為空表示此函式可以沒有return語句,或者使用return;語句

返回值概念:乙個函式的函式名既是該函式的代表,也是乙個變數。由於函式名變數通常用來把函式的處理結果資料帶回給呼叫函式,即遞迴呼叫,所以一般把函式名變數稱為返回值。

通俗點來說就是函式執行完畢後得到的結果。

返回值的型別可以有很多 void、bool 、int 、以及自定義的型別等等。

6樓:人生隨心動

無返回值時用void

c語言中,void在函式括號內和在函式前面的區別

7樓:匿名使用者

void在函式括號內:該函式的引數為空,或者說該函式不帶引數 void在函式前面:該函式返回值為空

8樓:悼城枬凰

c語言中,讓括號空著不是意味著對是否接受引數保持沉默嗎?

c語言中,函式前加void是什麼意思?

9樓:_夢幻陽光

每個函式都做一件事,事情做完的話最好告訴別人,函式也是,fun就是乙個人,後面括號裡面的就是傳入引數,也就是別人叫你做的事,fun前面的是返回值,就是你告訴別人這件事做的怎麼樣了,void型別就是空型別,做完了不告訴別人,在函式裡面return ;就行了。寫個簡單的例子

int add(int a,int b)

這個就是把a+b的結果傳出去,因為是int行,所以返回值也是int型,就用int了

c語言中void什麼意思?具體怎麼用?

10樓:楓璽

void的字面意思是「無型別」,void *則為「無型別指標」,void *可以指向任何型別的資料。void只有「注釋」和限制程式的作用。void的作用在於對函式返回的限定和對函式引數的限定。

例如:float *p1;int *p2;p1 = p2;

其中p1 = p2語句會編譯出錯,提示「'=' : cannot convert from 'int *' to 'float *'」,必須改為:p1 = (float *)p2;

而void *則不同,任何型別的指標都可以直接賦值給它,無需進行強制型別轉換:

void *p1;int *p2;p1 = p2;

擴充套件資料

void型別在c開發中常見的用法有2種:

1、作為函式的返回值,如void add(int x,int y); 表示該函式吳返回型別,不需要返回值。

2、使用void*指標來使用,比如作為函式的引數型別,如: int max(void* param); -->此時的void*表示可以使用任何型別的引數進行轉換。如

int a = 10; //普通型別

max((int)&a);

typedef structstr; //結構體

str s1 ;

s1.a = 2;

max((str)&s1);

11樓:匿名使用者

void是是c語言的乙個關鍵字,其含義為空。

在c語言中,單獨的void有兩種用途,均用於函式中。

1 用於函式返回值。

形式為void func_name(...);

代表函式沒有返回值。在這樣的函式中,呼叫return語句時,不需要也不可以有引數。

注意,寫成

func_nmae(...);

的形式,在部分編譯器中可以編譯成功,但並不是沒有返回值,而是有乙個預設的整型(int)返回值的意思。

2 用於函式引數列表。

當函式沒有引數時,需要定義為

*** func_name(void);

的形式,表示本函式不需要任何引數。

注意,如果寫成

*** func_name();

的形式,與void不同,不是沒有引數,而是函式引數不定,可以接收任何長度的引數。

12樓:半清醒丶不言語

void的意思就是

1) 對函式返回的限定;

2) 對函式引數的限定。

無返回值函式:此類函式用於完成某項特定的處理任務,執行完後不向呼叫者返回執行結果,這類函式類似於其他語言的過程;由於函式無返回值,使用者在定義此類函式時可指定其函式返回值為「空型別」,說明符號為「void」(注意空型別的說明符不可省,不然系統會預設返回值為int型)

先給乙個例子 定義函式

返回值 函式名(引數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 *可以指向任何型別的資料。

13樓:匿名使用者

.void的含義

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

void幾乎只有「注釋」和限制程式的作用,因為從來沒有人會定義乙個void變數,讓我們試著來定義:

void a;

這行語句編譯時會出錯,提示「illegal use of type 'void'」。不過,即使void a的編譯不會出錯,它也沒有任何實際意義。

void真正發揮的作用在於:

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

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

我們將在第三節對以上二點進行具體說明。

眾所周知,如果指標p1和p2的型別相同,那麼我們可以直接在p1和p2間互相賦值;如果p1和p2指向不同的資料型別,則必須使用強制型別

轉換運算子把賦值運算子右邊的指標型別轉換為左邊指標的型別。

其中p1 = p2語句會編譯出錯,提示「'=' : cannot convert from 'int *' to 'float *'」,必須改為:

p1 = (float *)p2;

而void *則不同,任何型別的指標都可以直接賦值給它,無需進行強制型別轉換:

void *p1;

int *p2;

p1 = p2;

但這並不意味著,void *也可以無需強制型別轉換地賦給其它型別的指標。因為「無型別」可以包容「有型別」,而「有型別」則不能包。

容「無型別」。道理很簡單,我們可以說「男人和女人都是人」,但不能說「人是男人」或者「人是女人」。下面的語句編譯出錯:

void *p1;

int *p2;

p2 = p1;

提示「'=' : cannot convert from 'void *' to 'int *'」。

3.void的使用

下面給出void關鍵字的使用規則:

2 + 3 = 5

這說明不加返回值說明的函式的確為int函式。

補充:void 中文翻譯為"無型別"。常用在程式編寫中對定義函式的引數型別、返回值、函式中指標型別進行宣告。

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

在c語言中,凡不加返回值型別限定的函式,就會被編譯器作為返回整型值處理。但是許多程式設計師卻誤以為其為void型別。

14樓:匿名使用者

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

void 的作用

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

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

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

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

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

15樓:江南哦啦啦

void的作用:對函式返回的限定,對函式引數的限定。

void main()函式返回空白型別值,就是無返回值 ,main();

main()省略前邊主函式型別相當於返回值是int型別的,即int main()。

拓展資料在最新的c99標準中只有int main(void)和int main(int argc,char **argv)兩種是正確的,也是就是不可以用void和省略int。

16樓:__razer丶

中文翻譯為"無型別"。又名「空函式」

常用在程式編寫中對定義函式的引數型別、返回值、函式中指標型別進行宣告。

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

17樓:哇哎西西

void常用在程式編寫中對定義函式的引數型別、返回值、函式中指標型別進行宣告。代表任意型別,而不是空的意思。

void * 是void型別的指標。

void型別的指標的含義是:這是乙個指標變數,該指標指向乙個 void型別的數。在函式的引數列表和返回值中,void代表的含義是:

乙個函式形參列表為void,表示這個函式呼叫時不需要給它傳參。

返回值型別是void,表示這個函式不會返回乙個有意義的返回值。

c語言中,函式可以巢狀定義嗎,C語言中,函式可以巢狀定義嗎

取決於編譯器.我在ubuntu16.04 用預設gcc,在eclipse中測試可以實現巢狀定義.經測試在函式中定義的函式,在當前作用域可以被呼叫.這樣一來,c語言貌似具有了一些物件導向的特性,使用起來比較方便 定義的時候不能巢狀,但是定義的時候可以遞迴 除了主函式以外都可以,不過在該函式巢狀定義前要...

關於C語言,strcpy函式,c語言中strcpy函式幹什麼用的

strcpy的第乙個引數是char 型別,也就是乙個字元型別的位址,可以是字元指標,也可以是字元陣列的首位址,因此,你這裡可以傳 piont 1.name 0 也可以傳piont 1.name,然後你再試試看 strcpy 這是什麼用法 strcpy piont 1.name,hello c語言中s...

C語言main函式一定是void的嗎

這個。不記得了,好像是乙個硬性規定的吧,就是每個函式都要有型別的 main函式的返回值是可以由使用者來確定的。void和int都可以。返回int是為了給系統乙個明確的指示,用來確定程式的執行狀態 表面程式時正常結束還是其他原因的結束。當然,這個在編寫小程式時意義不大。所以各種寫法都有了。標準c 中,...