1

我知道要在 C 中使用命令行参数,您可以执行以下操作:

int main(int argc, char **argv)
{
//use argc and argv
}

今天我在想它,我意识到我从来没有见过他们叫argcand argv。是要求它们被称为这个还是只是约定?如果需要,为什么会这样?

我可以做这样的事情:

int main(int length, char**myinput){
//use length as you would argc and myinput
// as you would argv
}

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

4

2 回答 2

5

C 标准说您可以随意调用它们。

5.1.2.2.1 程序启动

1 程序启动时调用的函数名为main。实现没有声明这个函数的原型。它应定义为返回类型为 int 且不带参数:

int main(void) { /* ... */ }

或带有两个参数(此处称为 argc 和 argv,尽管可以使用任何名称,因为它们是声明它们的函数的局部变量):[..]

int argc, char *argv[] 是什么意思?,回答者微不足道的说,argc并且argv按照惯例如此命名(分别为参数计数和参数向量)。

于 2014-11-11T20:58:27.740 回答
2

这只是一个约定,对名称没有要求。它们和其他任何参数一样都是用户定义的参数,因此请使用您想要的任何名称。

于 2014-11-11T20:53:11.880 回答