簡體   English   中英

定義“int main (void)”和“int main (int argc, char *argv[])”有什么區別,什么時候使用?

[英]What is the difference between the definitions “int main (void)” and “int main (int argc, char *argv[])” and when to use which?

根據當前標准和cppreference ,這兩個是定義main() function 的正確方法。 我知道這兩個定義中的參數是什么意思,我並不尋求對此方面的澄清。 我想了解的是:

  1. 何時使用int main (void) v/s int main (int argc, char *argv[])
  2. 假設,當程序不期望命令行 arguments 時,編譯器是否有任何區別(比如說gccclang )?
  3. (只是為了編寫自記錄代碼)當程序不需要命令行 arguments 和int main (int argc, char *argv[])時,我應該使用int main (void)嗎?

我想你可以在這里得到一個很好的答案。 閱讀本文,我對您的問題的回答是:

  1. 每當您需要訪問程序的 arguments 時,請使用int main (int argc, char *argv[])
  2. 我不希望這兩種方式對編譯器有任何區別,一次,在這個實驗中,兩個 C 程序都有相同的程序集 output;
  3. 當您的程序不需要訪問 arguments 時,我建議您使用int main (void) 這樣,其他人就很清楚您的程序不使用它們。 將來,如果您需要訪問程序的 arguments,更改main() function 的語法並不難。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM