深度讲解linux中int main(int argc,char **argv)到底是什么
深度讲解linux中int main(int argc,char **argv)到底是什么
·
函数原型
//int main( int argc , char *argv[] , char *envp[] )
argc是命令行总的参数个数
argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数
命令行后面跟的用户输入的参数
int argc
这个用来表示你在命令行下输入命令的时候,一共有多少个参数。比方说你的程序编译后,可执行文件是test.exe
D:\tc2>test
这个时候,argc的值是1
但是
D:\tc2>test.exe myarg1 myarg2
的话,argc的值是3。也就是 命令名 加上两个参数,一共三个参数
char *argv[]
这个用来取得你所输入的参数
D:\tc2>test
这个时候,argc的值是1,argv[0]的值是 “test”
D:\tc2>test myarg1 myarg2
这个时候,argc的值是3,argc[0]的值是”test”,argc[1]的值是”myarg1”,argc[2]的值是”myarg2”。
这个一般用来为程序提供非常重要的信息,如:数据文件名,等等。
1、char **argv
分析:argv是一个指针变量,argv的指向(*argv)是char *,也就是argv指向的也是一个指针 ;
*argv的指向(**argv)是char。
2、char *argv[]
分析:首先argv是一个数组,数组里面的元素是指针变量(char *),数组里元素指向的是char。
更多推荐
已为社区贡献1条内容
所有评论(0)