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 中,...