关于int main(int argc , char **agrv){}的理解

1.关于argc和argv的理解

带形参的main函数,如标题所示,是UNIX、Linux以及Mac OS操作系统中C/C++的main函数标准写法。

argc就是传递给该程序的数目,而char** argv是一个指向char类型指针的指针,即argv是一个指针,其指向了(* argv) , (* argv)也是一个指针,其指向了char类型的数据。

2.char *argv[]char ** argv是否等价

实际上char *argv[]char ** argv并不等价:
因为char *argv[]指针数组,指针数组即为数组中的每个元素都是指针变量,其语法形式为:

1 数据类型 * 数组名 [下标表达式] ;

在c++中,传递数组的时候只需要首地址(即指针)即可,故而char *argv[]就把argv[]解释成了*argv,结果整体就变成了char **argv了。

你可能感兴趣的:(关于int main(int argc , char **agrv){}的理解)