浅谈int main(int argc, char *argv[])

C语言刚学完一年,平常很少用,感觉好多东西还很模糊。这不遇到最基础的int main(int argc, char *argv[])都不知道什么意思。求助万能的互联网,花十几分钟看完一篇博客之后就理解了。做个备份,以防遗忘。

含义:

  • argc是命令行总的参数个数
  • argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 是命令行后面跟的用户输入的参数,比如

功能:

  • argc记录了用户在运行程序的命令行中输入的参数的个数。
  • arg[]指向的数组中至少有一个字符指针,即arg[0]。它通常指向程序中的可执行文件的文件名。在有些版本的编译器中还包括程序文件所在的路径。

在调用一个可执行程序时,某些情况下需要向程序传递参数。如我们可以在控制台中键入notepad.exe,回车后将执行记事本程序。如果我们希望在打开notepad时同时打开一个文本文件,可以在notepad.exe 后面跟上文件的路径和名字,如notepad.exe example.txt(文件在当前路径)。

那么程序中如何能得到这些输入参数呢?这个工作是编译器帮我们完成的,编译器将输入参数的信息放入main函数的参数列表中。

main函数的参数列表保存了输入参数的信息,第一个参数argc记录了输入参数的个数, 第二个参数是字符串数组,字符串数组的每个单元是char*类型的,指向一个c风格字符串。
以notepad.exe example.txt为例
argc是2,就是说argv数组中有两个有效单元
第一单元指向的字符串是"notepad.exe"
第二单元指向的字符串是"example.txt" 

这个东东一般用来为程序提供非常重要的信息,如:数据文件名,等等。
如:copy a.c b.txt
这个时候,a.c和b.txt就是所谓的“非常重要的信息”。不指定这两个文件,你没法进行拷贝。
当你的程序用到argc和argv这两个参数的时候,可以简单地通过判断argc的值,来看看程序的参数是否符合要求。

更多内容:int main(int argc,char* argv[])详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值