C語言main函數

我想,絕大多數程序員寫的第一個函數必定是main函數,就如同剛出生的小孩第一眼見到的是她的親媽一樣。但是,對於如此親密的main函數,我們真的是對它瞭如執掌嗎?

那可未必。在此,我寫下我淺薄的認識。

很多初學者在寫第一個C語言程序的時候,會把main函數寫成這樣:

void main()
{
 .....
.....
}
我從開始學習C語言直到畢業,都是像上面那樣寫main函數。不過現在已經痛改前非了,作爲一個職業程序員,是需要嚴苛的職業精神的!大多數人像上面那樣寫main函數,就是想偷偷懶,因爲那樣在main函數執行完畢之後,就可以不用寫return語句,即不用返回任何值。但實際上根據正統的江湖規矩,main函數的必須得有返回值而且只能是int型的。標準裏面從來就沒有void main()這回事,不過有的編譯器比如vc6對於這種雜種還是網開一面的,而gcc則會給出warning: return type of 'main' is not 'int',而g++則直接給出error: '::main' must return int。由此可見,不能因爲一時的偷懶而沒有付出代價,就從此以爲可以走遍天下,寫代碼還是得按照標準來。

那麼,main函數應該怎樣寫呢?

上面說的是,main函數必須返回int型的值。而main函數的參數,有兩種情況:一是不帶參數,寫成int main(void);二是帶參數,寫成int main(int argc, char *argv[])。另外對於main函數的返回值,return 0表示main函數正常返回。


另外,main函數被C startup程序調用如下:exit(main()) .當main函數return之後,exit函數會做一些清理工作。

發佈了28 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章