C 自定義函式出現在main之前好還是之後好?

時間 2022-01-04 00:22:47

1樓:zighouse

我們都知道,吃雞蛋的時候,原來的方法是打破雞蛋較大的一端,可是那時的皇帝的祖父由於小時侯吃雞蛋,按這種方法把手指弄破了,因此他的父親,就下令,命令所有的子民吃雞蛋的時候,必須先打破雞蛋較小的一端,違令者重罰。一一格列佛遊記

2樓:pansz

放最後面更好。實際專案中絕大多數都是放最後邊。main.c的最後乙個函式是main(),這幾乎已經成為約定俗成的習慣。

通常來說檔案頭會有很多include,typedef之類的定義與宣告,總之檔案頭會包含的內容特別多,main函式放前邊,在視覺上不容易找到main的起點。

但是main放最後邊則很容易找到,直接導航到檔案尾就能看到main,一目了然。

說放前邊的教科書,大概是在連G鍵(vi)或者Ctrl-End都不會用的人寫的吧。

實際上很多老技巧現在是不實用的,比如現在ide預設開啟檔案是會停留在上次檔案被瀏覽到的位置,檔案頭並沒有什麼特別的含義。

3樓:pai233

main放在最後面的話,可以少定義一次函式:

放前面:

void

dfs();

//少了這行

intmain

()void

dfs()

放後面:

void dfs()

int main()

4樓:李一一

習慣上會把main放在檔案結尾,這樣不需要先寫一遍函式宣告了。谷歌的各種開源專案比如AOSP, chromium也都是把main放在最後的。

5樓:高效能架構探索

放哪都行

main函式也可以當作是乙個普通的函式,只不過程式的入口是在main裡面,也就是說一般情況下從main開始執行(排除main前初始化那種)

無論前後,在編譯器編譯之後,都會放在文字區不過,貌似現在約定俗成,main都在最後面

為什麼C 中自定義函式與Linux系統呼叫同簽名,卻仍然可以編譯

H 0214 可以自定義strlen啊。當你include cstring標頭檔案,預處理之後有了有了strlen的宣告 因為你又寫了strlen的定義,所以strlen是本模組定義的符號,在編譯的時候就已經生成了機器碼。鏈結器不會再鏈結庫裡的那個版本。 gcc 在編譯的時候,是有一些 潛規則的 我...

c 如何自定義乙個返回二維陣列的函式而不是首位址?

如果你說的是內建陣列,那是不可以的。但是,如果你願意可以使用C 11標準模板庫裡面的array,封裝成了模板類,提供了拷貝建構函式,可以直接返回乙個array。 旺旺 C 語言標準裡面倒是真寫了函式不能返回陣列,在 版標準裡沒看到相關論述,在 版標準裡面看到了,函式不能返回陣列,但可以返回對陣列的引...

求問c 跨庫(dll)呼叫vector 自定義結構體 該怎麼寫?

張三瘋 vector只能用於內部實現,不能在介面中呼叫 如有可考慮用C實現,如傳入乙個指標的指標,然後在內部分本配記憶體,將資料複製過去,呼叫介面者要負責釋放記憶體,如釋放記憶體太複雜,則提供乙個釋放記憶體的函式以供使用者呼叫 ikkiz 別這麼幹!別這麼幹!別這麼幹!即使你非常明白會發生什麼能夠規...