int main(int,char **)和int main(int argc,char ** argv)有什么区别

时间:2017-02-07 09:17:20

标签: visual-c++

我的主要定义如下

int main (int, char **)
{
    // my code goes here
}

我怎样才能获得传递的参数?

如果如下所示

int main (int argc, char **argv)
{    
     // my code goes here    
     // Here I can get list of arguments using argv 
}

但我不知道如何获得第一种情况的输入参数。

1 个答案:

答案 0 :(得分:1)

两者都是相同的cell函数。唯一的区别是,在第一种情况下参数没有给出变量名,所以你不能使用它们。这是摆脱未使用变量的编译器警告的有用模式。如果您的程序没有评估argc和argv,您的编译器可能会抱怨您不使用它们。删除参数名称时,编译器不会抱怨。当然,如果要访问参数,则必须编写名称。

当然,如果您不需要参数,也可以将其删除。但main(由标准定义)是您不想删除参数的函数的一个很好的示例。另一个例子是main函数,其中覆盖可能不需要所有参数。