c中的void,c中的void是什麼意思?

2021-05-10 11:55:23 字數 5379 閱讀 6558

1樓:語澍璐遠

void真正的用途在下面兩個方面:

對函式返回值的限定

對函式引數的限定

比如,函式沒有返回值,那麼函式可能會宣告成這樣:void fun(int a);

如果函式有返回值,但是函式沒有引數,那麼函式的可能會宣告成這樣:int fun(void)。

以上的情況都是很好理解的。下面介紹void *的一些用法。

1. 函式可接受任意型別的指標。

用過memset或者memcpy的細心的人會發現,在gcc中編譯類似下面的**都不會有警告:

int a;

int *p = &a;

memset(p, 0, 4);

或者char c[4];

char *p = c;

memset(p, 0, 4);

為什麼memset傳int *還是char *都沒有問題呢?我們知道不同型別間複製是要進行強制轉換的,那麼這裡為什麼不用強制型別轉換呢。我們看memset的原型會發現,memset的第一個引數就是void *。

2. void *型別可以接受任意型別指標。

例如:void *p1;

char *p2 = 「hellp」;

p1 = p2;

這是沒有問題的,任何型別的指標都可以直接賦值給它,無需進行強制型別轉換。但需要注意的一點是,void *的型別並不能無需型別轉換直接賦值給其他型別,比如malloc的返回值是void *,那麼我們一般這樣寫:char *p = (char *)malloc(4);

c++中的void是什麼意思?

2樓:四舍**入

void是空的意思,一般用來表示無引數或者無返回。

比如在函式定義的時候可以 用 void func(void);

前面的表示函式無返回,括號裡表示函式無引數。

或者void *可以表示無型別指標,允許被強制轉化成任意型別指標。

3樓:雲海鷹影

void表示空或者無型別。

用void表示引數列表或返回值,表示沒有引數或沒有返回值(不需要返回)。

用void則表示指標型別則表示這個指標可以指向任何型別。

4樓:齋冰瑩井恨

void

show()的意思是函式不返回任何值。去掉void後會是什麼情況完全取決於編譯器。可能報錯。也可能和void

show()一樣。也可能出現其它情況。因為不是每一個編譯器都完全實際標準的,而且這個標準也在修訂。所以void

show()這樣才能保證它執行良好。

5樓:匿名使用者

void表示不確定返回型別,並不是空也不是不返回型別,只是返回的型別不確定而已,望樓主仔細查查資料、

void*&,void**在c++中代表的什麼意思?

6樓:匿名使用者

viod *&a 先取a的地址再作指標運算,由於&和*是相同級別運算子,按從右向左的方向,相當於 void*(&a);

void**a是指向指標的指標,

7樓:林長城

第一個是指標引用,第二個是二重指標。

c++中void main(void)是什麼意思?

8樓:學雅思

void main(void) 等同於void main() ,只不過void main()省略掉了void空引數,兩者都表示是應用程

序的主函式,是程式執行的起點。

程式執行總是從main函式開始,如果有有其他函式,則完成對其他函式的呼叫後再返回到主函式,最後由main函式結束整個程式。在執行程式時,由系統呼叫main函式 。main 函式是在程式啟動中完成對具有靜態儲存期的非區域性物件的初始化之後被呼叫的。

擴充套件資料

主函式的兩個形參形式中的形參,允許從執行環境中傳遞任意的多位元組字串(它們通常被稱為命令列引數),各個指標 argv[1] .. argv[argc-1] 指向每個這些字串的第一個字元。

argv[0] 是指向一個表示用於執行該程式自身的名字的空結尾多位元組字串(或者當執行環境不支援時,為空字串 "")的開頭字元的指標。這些字串是可以改動的,雖然對改動並不會被傳回給執行環境:比如可以用 std::

strtok 來使用。

由 argv 所指向的陣列的大小至少為 argc+1,其最後一個元素 argv[argc] 保證為一個空指標。

9樓:wait_若如初見

void main()表示函式無返回值,就是說在程式的結尾處不需要加上return 0。而return是在函式體中,用來返回特定值的。

一個c程式中必須至少有一個函式,而且其中必須有一個並且僅有一個以main為名,這個函式稱為主函式,主函式是整個程式的入口。

10樓:匿名使用者

void表示這個函式沒有返回值。

主函式的返回值我們一般不需要,後者說就算有對我們而言幾乎沒有意義。

所以主函式有時寫為int main()也可以。

但是如果是被呼叫的函式其就有可能有返回值,就要有return語句。

且被調函式return 的資料型別必須與前面函式名前面的int ,char double ,float等型別相一致。

被調函式如果也沒有返回值,就也在函式名前加void,表示無返回值。

這就是void 的意思。

11樓:王一一

void main()表示無返回值,就是說在程式尾不需要加return 0;

void main(void)與上述是相同的,只是更嚴密而已。

在java/c/c++中,main為程式執行的主入口方法,每個程式只有一個,也就是所有程式建立在賣弄函式的基礎之上。

c語言程式的結構認識

用一個簡單的c程式例子,介紹c語言的基本構成、格式、以及良好的書寫風格,使小夥伴對c語言有個初步認識。

例1:計算兩個整數之和的c程式:

#include main()

重點說明:

1、任何一個c語言程式都必須包括以下格式:

main()

這是c語言的基本結構,任何一個程式都必須包含這個結構。括號內可以不寫任何內容,那麼該程式將不執行任何結果。

2、main()----在c語言中稱之為「主函式」,一個c程式有且僅有一個main函式,任何一個c程式總是從main函式開始執行,main函式後面的一對圓括號不能省略。

3、被大括號括起來的內容稱為main函式的函式體,這部分內容就是計算機要執行的內容。

4、在裡面每一句話後面都有一個分號(;),在c語言中,我們把以一個分號結尾的一句話叫做一個c語言的語句,分號是語句結束的標誌。

通過執行這條c語言系統提供給我們直接使用的螢幕輸出函式,使用者即可看到執行結果,本程式執行後,將在顯示器上顯示如下結果:

a=20,b=15,sum=35

6、#include

注意:(1)以#號開頭 (2)不以分號結尾 這一行沒有分號,所以不是語句,在c語言中稱之為命令列,或者叫做「預編譯處理命令」。

7、程式中以 /*開頭並且以*/結尾的部分表示程式的註釋部分,註釋可以新增在程式的任何位置,為了提高程式的可讀性而新增,但計算機在執行主函式內容時完全忽略註釋部分,換而言之就是計算機當做註釋部分不存在於主函式中。

c程式的生成過程

c程式是先由原始檔經編譯生成目標檔案,然後經過連線生成可執行檔案。

源程式的副檔名為 .c ,目標程式的副檔名為 .obj , 可執行程式的副檔名為 .exe 。

識別符號在編寫程式時,必須為函式、變數等命名,這個名字稱為識別符號。c語言中識別符號的命名規則如下:

識別符號只能由字母、數字、下劃線組成;

識別符號的第一個字母必須是字母和下劃線;

識別符號區分大小寫字母,如if和if是兩個完全不同的識別符號。

合法識別符號如下: a6, b_3 , _mn 非法的識別符號如下: ab#12 , 8m , tr3:4 , yes no

識別符號不能與程式中具有特殊意義的關鍵字相同,不能與使用者編制的函式名、c語言庫函式相同,在程式中各種識別符號儘量不要重複,以便區分。選擇變數名和其他識別符號時,應注意做到 「見名知義」。

12樓:匿名使用者

c語言標準語法是不允許void main()的,只允許int main()。但是某些編譯器支援void main()。

其意義為:定義main函式(主函式),無返回值。

注意:為了增強程式可移植性,最好不要寫void main(),否則在一些編譯器上可能不能編譯、執行。

有些語句只有main其實是合法的。ansi c標準規定,如果函式定義中函式名前沒有型別識別符號,則預設為int型別,所以main()等價於int main()。

13樓:海林一中

在 c 和 c++ 中,不接收任何引數也不返回任何資訊的主函式原型為「void main(void)」。

可能正是因為這個,所以很多人都誤認為如果不需要程式返回任何資訊時可以把 main 函式定義成 void main(void) 。然而這是錯誤的!main 函式的返回值應該定義為 int 型別,c 和 c++ 標準中都是這樣規定的。

雖然在一些編譯器中,void main 可以通過編譯(如 vc6),但並非所有編譯器都支援 void main ,因為標準中從來沒有定義過 void main 。g++3.2 中如果 main 函式的返回值不是 int 型別,就根本通不過編譯。

而 gcc3.2 則會發出警告。所以,如果想程式擁有很好的可移植性,請一定要用 int main 。

14樓:我真的是主流

main()是程式的主函

數的意思 前面的void是返回值型別 也就是說這個主函式返回的是空值 如果是 int main()則表明這個主函式的返回值型別是整型 等等

應該所有的主函式都會表明返回值型別吧 我也是剛學的 沒看過太多東西 希望這些對你有幫助

15樓:匿名使用者

main(), void main(), void main(void)沒啥區別。括號裡是空的,表示你不要往maini()函式裡傳遞引數,和寫void是一個意思。如果寫main(int argc, char **argv)就表示你需要往main函式裡傳遞引數,argc表示引數個數,argv是個指標陣列,表示傳遞的具體內容

16樓:不懷好心

main() 這個是程式的入口點函式,程式執行的時候,從這個地方開始執行。

void是無返回值型別,也就是說這個函式最後不用返回返回值。

在最原始的c語言中是不需要給main入口點函式指定返回值,像tc2編譯器。

在標準的c語言中main函式通常是int返回值,並且最後return 0;

C中void有什麼用,c 中的void 是起什麼作用

首先你要來了解方法 函式 的自定義 方法可以分為 有 無返回值 有 無引數 靜態 非靜態 公共 私有 受保護等 比如 public int 函式名 型別 引數1,型別 引數2 1 這裡public修飾符規定了這個方法是公共的即任何範圍都可以訪問 只要建立了這個類的物件就可以 2 int 就是返回值 ...

c中void什麼意思,在C中void是什麼意思

空的意思,就是不需要返回值的意思 指空型別 也可以說是函式無返回值 你可以理解成啥也沒有 和c語言一樣的,空的意思,比如c中,void main,表示返回空值.在c 中void是什麼意思 void是空的意思,一般用來表示無引數或者無返回。比如在函式定義的時候可以 用 void func void 前...

罪惡王冠中祈妹子的void是什麼

void是 暗藍色巨劍 在罪惡王冠中祈妹子的void是最強的,也就是主人公手上的那把長劍.人物介紹 本作女主角。不僅是網路偶像egoist樂隊的主唱,同時也是反抗組織葬儀社的一員的16歲女英雄。原是謎一樣的三無少女,對集來說是憧憬的存在,與真名存在著密不可分的聯絡,血液和歌聲擁有抑制病變的效果。後被...