【问题标题】:argc and argv for functions other than mainargc 和 argv 用于除 main 以外的函数
【发布时间】:2017-09-29 11:13:33
【问题描述】:

如果我写一个这样的函数:

void myfunc(const int argc, const char *argv[]) 

argc 和 argv 会自动从命令行参数中获取它们的值,还是需要从 main 中传递它们的值?

【问题讨论】:

标签: c function main argv argc


【解决方案1】:

argc和argv必须传,如:

int main(int argc, char *argv[])
   {
   myfunc(argc, argv);
   return(0);
   } 

【讨论】:

    【解决方案2】:

    不,如果您调用函数的参数argcargv,没有什么特别的事情发生。调用者必须传递它们,就像任何其他参数一样。

    【讨论】:

      【解决方案3】:

      参数名称​​本身并不重要。你可以这样写main:

      int main(int count, char *array[]) {...}
      

      如果你喜欢。 main 是一个 特殊 函数,因为它是 C 程序的默认入口点,并且命令行参数值被传递给它,仅此而已。

      将函数声明/定义为:

      void myfunc(int argc,char *argv[]) {...}
      

      完全一样:

      void myfunc(int foo,char *bar[]) {...}
      

      并且可以从您喜欢的任何(可能的)点使用您喜欢的任何(可接受的)值调用这样的函数。

      【讨论】:

        猜你喜欢
        • 2023-03-23
        • 2020-11-03
        • 2013-09-08
        • 1970-01-01
        • 2011-04-23
        • 2013-03-09
        • 1970-01-01
        • 2022-01-04
        相关资源
        最近更新 更多