c 中函式宣告時使用void函式名(函式型別)是什麼意思 為什麼要這樣宣告函式?

時間 2021-06-03 04:59:49

1樓:你看那銳雯

首先去驗證。你測試一下乙個不需要返回值的函式不寫void,會發生什麼?報什麼錯就會發現如果不寫編譯器會認為那你需要返回 int

第二,仔細研究c語言的函式返回值語法,以及同樣類似的問題,編譯器找不到函式宣告會發生什麼? 這個時候編譯器是如何判定返回值型別的? 這些都在c標準規定了,當然有些是沒規定的,就看各自編譯器的實現了、 絕大多數問題不需要研究編譯器的差異,關注c標準就可以了。

看下經典c書籍就可以推薦系統的學習語法,沒有乙個知識體系很難精進

2樓:顧鐵

函式要麼有返回值,要麼無返回值.有返回值的函式會把執行的結果返回到主函式中,無有返回值的函式主要是為了完成某種任務,void就是沒有返回值,是用來執行任務的.

類似於void,還有int bool等,這個返回值就是確定了返回的型別

函式宣告的方式是:

Type FunctionName(type argument1,type argument2....type argumentn)

其中,type 可以為任意資料型別,包括VOID(即無返回值)。

為什麼C 中 void 能指向靜態成員函式但不能指非靜態向成員函式?

檀十一郎 讓我們來強行搞編譯器一波 class A fp A a A pa a pa fp.fpa fp.fp void 因為A test沒用到this,所以這麼搞也能工作。return 0 朱涵俊 靜態成員函式跟靜態函式沒區別,就是乙個作用域不同而已。可以看成普通的非成員函式。成員函式在傳引數時候...

c語言是否可以通過呼叫void函式來完成對陣列的賦值?

zr scat 變長陣列啊,c99範疇,vc沒戲,並且陣列在函式引數會退化為指標 如果陣列引數退化成指標,則不知道步長,不行,可以強行傳入步長來搞定 如果只是想初始化為0的話,直接 不必如此麻煩 雲天明 double z不完了麼 void zeros int width,int height,dou...

C 中的sort函式使用自定義比較函式的具體執行過程是怎麼樣的呢

路明非 你只是覺得實現降序排序比較神奇,但對於演算法來說都是一樣的。對於函式bool f a,b a b 只要任意兩個數字滿足自洽性就可以了,所謂自洽性就是如果a b返回true,b c返回true,則a c一定返回true。當然還要其他條件,這樣可以保證你的輸入序列的有序性。演算法唯一需要做的就是...