代碼環境
操作系統:Ubuntu 20.04
gcc版本:gcc version 9.3.0
main 函數簡介
main 函數是我們 C 語言程序的唯一入口,也就是說,如果我們的 C 語言程序中沒有 main 函數,那麼我們的程序就無法運行。
即程序是從main函數開始,對其他函數的調用也是直接或間接地在main函數中操作的。
同時,main 函數是我們系統自己負責調用的,不需要我們手動調用 main 函數。
語法
// 帶參數
int main(void)
{
return 0;
}
// 不帶參數
int main(int argc,char *argv[]) //等價於 int main(int argc,char **argv)
{
return 0;
}上面我們定義的是main函數的標準寫法,一個帶參數,一個不帶參數。
這裡因為文章是給初學者看的,所以就不放那些不標準的了,以免有的童鞋記錯了就尷尬了。
其實之所以說這個是標準寫法,是因為C89/C99/C11標準文檔中只提供了兩種main函數的寫法:
int main(void) { /* ... */ }
int main(int argc, char *argv[]) { /* ... */ }參數
基礎語法我們知道了,那麼main函數中的參數又是什麼鬼?
void?
int argc, char *argv[] ??

1、void
這個參數的作用是限定main方法不帶任何參數。
註:其實還可以不帶任何參數,就是為空,比如:

運行結果

再來看一看帶void的效果:


吶,其實是一樣的。
網上可能有的會說帶void的重新聲明會報error,還有的說帶void運行out帶參數會報錯,但是好奇心這裡都試過了,最起碼目前gcc 9.3.0 並不會報錯

好啦,這裡只是延伸說明下,實際運行中,也不會手動去調用這個方法,所以如果你不想傳參數,寫不寫void都行。不明白的可以忽略,記住寫法就成。
2、int argc, char *argv[]
argc參數表示了命令行中參數的個數(注意:文件名本身也算一個參數),
argc的值是在輸入命令行時由系統按實際參數的個數自動賦予的。
下面我們來看看具體代碼使用例子和效果:


總結
到這裡就介紹得差不多了。
重點是記住兩點:
1、main函數是系統調用的唯一入口函數
2、main函數可以帶兩個參數,以及兩個參數分別代表什麼(參考上面int argc, char *argv[])
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/274333.html
微信掃一掃
支付寶掃一掃