3 回答

TA貢獻1946條經驗 獲得超4個贊
int main(void);int main(int argc, char* argv[]);
因此, int
可以用 typedef
定義為 int
的類型 argv
可以寫成 char ** argv
等等。
在程序啟動時調用的函數名為 main
..該實現沒有聲明此函數的原型。它應定義為返回類型為 int
在沒有參數的情況下: int main(void) { /* ... */ }
或者有兩個參數(在這里稱為 argc
和 argv
(雖然可以使用任何名稱,因為它們是聲明它們的函數的本地名稱): int main(int argc, char *argv[]) { /* ... */ }
或等效;或以其他實現-定義的方式。
如果聲明了這些參數,則 main
職能應遵守下列限制:
價值 argc
應該是非否定的。
argv[argc]
將為空指針。
如果 argc
大于零,則數組成員 argv[0]
貫通 argv[argc-1]
包容性應該包含指向字符串的指針,這些指針是由主機環境在程序啟動之前給出的實現定義的值。其目的是從宿主環境中的其他地方向程序啟動之前確定的程序信息提供。如果主機環境不能同時提供大寫字母和小寫字母,則實現應確保以小寫接收字符串。
如果 argc
值大于零,所指向的字符串為 argv[0]
表示程序名稱; argv[0][0]
如果程序名在主機環境中不可用,則為空字符。如果 argc
大于1,所指向的字符串由 argv[1]
貫通 argv[argc-1]
表示程序參數。
參數 argc
和 argv
和字符串所指向的 argv
數組應由程序修改,并在程序啟動和程序終止之間保留其最后存儲的值。
在一個獨立的環境中(在這個環境中,C程序可以在沒有操作系統任何好處的情況下執行),在程序啟動時調用的函數的名稱和類型都是實現定義的。任何可供獨立程序使用的庫設施,除了第4條所要求的最小設置外,都是實現定義的。

TA貢獻1777條經驗 獲得超3個贊
標準C
5.1.2.2.1啟動程序
在程序啟動時調用的函數名為 main
..該實現沒有聲明此函數的原型。它應定義為返回類型為 int
在沒有參數的情況下: int main(void) { /* ... */ }
或者有兩個參數(在這里稱為 argc
和 argv
(雖然可以使用任何名稱,因為它們是聲明它們的函數的本地名稱): int main(int argc, char *argv[]) { /* ... */ }
或同等; 9)或者以其他實現定義的方式。 9)
因此, int
可以用定義為 int
的類型 argv
可以寫成 char **argv
等等。
標準C+
3.6.1主要功能[basic.start.main]
1程序應包含一個稱為Main的全局函數,它是程序的指定開始。[.]
2實施不應預定義主要職能。此功能不應超載。它應該有一個int類型的返回類型,但否則它的類型是定義的。所有實現都應允許Main的以下兩種定義: int main() { /* ... */ }
和 int main(int argc, char* argv[]) { /* ... */ }
公共延伸
int main(int argc, char **argv, char **envp) { ... }
extern char **environ;
<unistd.h>
.
J.5.1環境論點
在宿主環境中,主函數接收第三個參數, char *envp[]
,它指向以空結尾的指針數組。 char
,每個字符串指向一個字符串,該字符串提供有關此程序執行環境的信息(5.1.2.2.1)。
微軟C
main的聲明語法是 int main();
或者,可以選擇, int main(int argc, char *argv[], char *envp[]);
或者, main
和 wmain
函數可以聲明為返回。 void
(無返回值)。如果你宣布 main
或 wmain
作為返回空,您不能使用返回語句將退出代碼返回到父進程或操作系統。若要返回退出代碼,請執行以下操作: main
或 wmain
被宣布為 void
,您必須使用 exit
功能。
void main()
main()
char **envp
wmain()
void main()
是 int main()
同 int main(void)
?
main()
int main()
int main(void)
int main()
main()
int main()
main()
int main()
int rc = main("absolute", "twaddle", 2):
-Werror
int main(void)
main()
main()
main()
int main()
int main(void)
- 3 回答
- 0 關注
- 696 瀏覽
添加回答
舉報