argc和argv介绍
argc 是argument count的缩写表示传入main函数中的参数个数,包括这个程序本身
argv 是 argument vector的缩写表示传入main函数中的参数列表,其中argv[0]表示这个程序的名字
详见知乎链接:https://zhuanlan.zhihu.com/p/267822985
总结
- argc(argument count) 记录了命令行输入参数的个数
- argv(argument value) 记录了命令行输入参数的内容(值),argv是一个指针,指向储存了命令行参数的字符数组
一般定义方法
int argc, char** argv
或者
int argc, char* argv[]
两者意思相同,只是一个从指针角度定义,一个从数组角度定义。本质上来说是: 数组名就是指向它首地址的指针
- 只有字符串数组(以 \0 结尾的字符数组)可以通过打印指针来打印整个数组的内容。
- 对于其他类型的数组,直接打印指针只会打印指针的地址值,而不是数组的内容。
- 字符串是以 \0 结尾的字符数组。
- 标准库函数(如 printf 和 cout)在处理字符串时,会从指针指向的位置开始,逐个字符处理,直到遇到 \0 为止。