int main(int argc, char *argv[]) argc和argv是什么意思?

一个程序开始于对函数main()的调用。在这样做的时候,有两个参数被送给main(),

其中的一个描述了命令行参数的个数,通常称为argc;另一个是命令行参数的数组,通常称为argv。

命令行参数都是字符串,所以argv的类型是char* [argc+1]。该程序的名字也作为argv[0]传进来,

所以argc的值至少是1。这个参数的表总以0结束,也就是说,argv[argc]==0

带形参的函数如main(int argc, char *argv[]),是UNIX、linux和MacOS中C/C++的main函数标准写法,也是最纯正的main函数写法。

在VS中以下三种写法均合法:

int main(int argc, char *argv[])
{return 0;
}int main()
{return 0;
}void main()
{}

argc、argv[]含义

int argc:用户在运行程序的命令行的参数个数,在VS中默认为1。

char *argv[]:字符串数组,其各元素值为命令行中各字符串的首地址,指针数组的长度为参数个数argc。

argv[0] 程序的全名

argv[1]指向在DOS命令中执行程序名后的第一个字符串

argv[2]指向执行程序名后的第二个字符串

argv[3]指向执行程序名后的第三个字符串

argv[argc]为null

如:

int main(int argc, char*argv[])
{for(int i = 0; i < argc; ++i){cout << argv[i] << endl;}return 0;
}

敲入:

./a.out aaa bbb ccc

argc = 4

输出:

argv[0] = “./a.out”

argv[1] = “aaa”

argv[2] = “bbb”

argv[3] = “ccc”

int main(int argc, char argv[]) argc和argv是什么意思?相关推荐

  1. int main(int argc,char *argv[]),主函数的参数问题

    主函数的参数 在VC++中,我们有时候看到一些程序的主函数是带有参数的,虽然我们经常用到VC++但是对主函数的参数并不是很理解: int main(int argc,char *argv[]) 对于里 ...

  2. 关于int main( int argc, char* argv[] ) 中arg和argv参数理解

    在示例程序中经常可以看到argc和argv这两个参数 ,在调试代码过程中遇到main函数为int main( int argc, char* argv[] ) 这种类型时往往会报错,或者是运行起来了但 ...

  3. int main( int argc , char *argv[] , char *envp[] )中参数解说

    原文链接:https://blog.csdn.net/mengyandelove/article/details/82285504 argc是命令行总的参数个数 argv[]是argc个参数,其中第0 ...

  4. int main(int argc, char* argv[])

    以前学C语言的时候,很少用到int argc,char *argv[],感觉没啥用,所以也就没怎么了解.现在用到了,来学习一下.argc命令行输入参数的数量,argv是字符数组,看代码. [mapan ...

  5. 关于int main(int argc,char *argv[])

    在int main(int argc,char *argv[])中的int argc和char *argv[]都是用来在命令行里传递参数.在Linux环境下用的最多,Windows环境下一般用得较少. ...

  6. int main(int argc,char* argv[])讲解

            分类:            学习笔记2011-11-07 21:502354人阅读评论(0)收藏举报 dos编译器pathunixcommandc 在最近学习中老是遇到  int m ...

  7. C/C++—— int main(int argc,char* argv[])讲解

    转自:http://blog.csdn.net/what1136075171/article/details/6945664 int main(int argc,char* argv[]) argc是 ...

  8. VS2013 int main(int argc, char** argv)参数传递

    VS2013带命令行参数的调试方法 在C++函数参数传递中,我们知道,main函数是演示C++程序如何向函数传递数组的好例子.一般来说,我们定义的的大多main函数都只有空的形参列表: int mai ...

  9. int main(int argc,char* argv[])详解

    argc是命令行总的参数个数      argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数,比如: 1 int main(int argc, char* ...

  10. [转帖]int main(int argc,char * argv[]) windows 下的使用

    [转帖]int main(int argc,char * argv[]) windows 下的使用 通常对于初学C语言的同学来说,我们的main函数,都是没有形参的,那么这是怎么回事呢? 根据C语言规 ...

最新文章

  1. 量子计算机与人脑接口,量子信息科学:量子计算机、隐形传物与人脑量子运算...
  2. linux内存管理和原理分析
  3. 【NLP】Transformer大家庭简介!
  4. python调用mysql中的自定义function并且返回结果
  5. mysql dos 下切换连接_如何在dos下连接进入mysql对数据库进行操作
  6. [转载]常用内部排序算法--用VB6实现
  7. 二分图——匈牙利算法——的学习
  8. 8数据提供什么掩膜产品_喜茶、茶百道、书亦、古茗8月外卖热销产品数据全解析...
  9. HP计算机管理软件,HP Power Assistant
  10. C语言《计算两点间距离》
  11. 用aspose转换文档成PDF导致中文变成方框
  12. 词典GoldenDict
  13. 主元分析法 matlab,数值分析实习作业之不选主元法高斯分解(Matlab)
  14. 【路径规划】(2) A* 算法求解最短路,附python完整代码
  15. QT打包完整教程 超详细
  16. uniapp 顶部绝对定位
  17. EasyUi(完整版)
  18. 声源定位系统设计(一)——MVDR波束形成算法
  19. 台湾东部海域发生有感地震 暂无灾情传出
  20. 利用Python实现敲击木鱼积累功德效果 功德+N

热门文章

  1. 【云计算学习笔记(二十)】之Cinder服务架构与详细操作介绍
  2. whatsns内容付费问答系统第三方登录新浪微博配置教程
  3. 【Linux从零开始最详细笔记】6、给Docker安装一个Nginx镜像
  4. 天热,周末宅家,写了个BUG满天飞的Debug调试器
  5. “慷慨的上帝” vs “吝啬的上帝”
  6. 保护眼睛的好方法(电脑显示)
  7. hdu2612——Find a way
  8. 林曦的小世界:时间会捧给我们珍宝,所以别着急
  9. Scratch 母鸡保护鸡蛋
  10. 小程序下拉框自定义样式picker修改样式picker-view修改样式