int main(int argc, char*argv[])理解

   在调用一个可执行程序时,某些情况下需要向程序传递参数。如我们可以在控制台中键入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"  
    
   argv数组中的第一个单元指向的字符串总是可执行程序的名字,以后的单元指向的字符串依次是程序调用时的参数。  
    
   这个赋值过程是编译器完成的,我们只需要读出数据就可以了。
—————————————————————————————————————————————————————————————————————
这里为什么要设置这两个参数呢?
因为有些时候程序运行时需要提供一些参数。比如copy命令,需要指明源文件和目标文件名,就得通过argc和argv来传递

argc是命令行的总参数个数。
 argv[]有argc个参数,其中第0个参数是程序全名,命令行后面跟的用户输入的参数。
char *argv[]是一个字符数组,其大小是argc,主要用于命令参数argv[]参数。
数组里每一个元素代表一个参数。

eg: 输入 test, a.c  ,b.c, t.c 则 argc=4;
argv[0]=test;
argv[1]=a.c;
argv[2]=b.c;
argc[3]=t.c;
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值