传递给main()的args的名称是否重要

use*_*276 1 c argv command-line-arguments argc

我知道要在C中使用命令行参数,你可以这样做:

int main(int argc, char **argv)
{
//use argc and argv
}
Run Code Online (Sandbox Code Playgroud)

今天,我在想这件事,我意识到我从来没有看到他们所谓的argcargv.要求他们被称为这个或仅仅是惯例吗?如果需要,为什么会这样呢?

我可以这样做:

int main(int length, char**myinput){
//use length as you would argc and myinput
// as you would argv
}
Run Code Online (Sandbox Code Playgroud)

我还没有机会写一个程序来测试它.

小智 5

C标准说你可以随意打电话给他们.

5.1.2.2.1程序启动

1程序启动时调用的函数名为main.该实现声明此函数没有原型.它应该使用int的返回类型定义,并且没有参数:

int main(void) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

或者有两个参数(这里称为argc和argv,虽然可以使用任何名称,因为它们是声明它们的函数的本地名称):[..]

什么int argc,char*argv []是什么意思?,回答微薄的说,argcargv按惯例(分别为参数计数和参数向量)命名.