1、定义

C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为:

int main (int argc,char *argv[]){…}

int main (int argc,char **argv){…}

其中第一个argc表示参数的个数;第二个参数中argv[0]为自身运行目录路径和程序名,argv[1]指向第一个参数、argv[2]指向第二个参数……
完整程序如下:

#include <iostream>
#include <string> using namespace std; int main(int argc, char **argv)
{
string str;
cout<<"argc:"<<argc<<endl;
for (int i = 0; i != argc; ++i)
{
cout << "arg[" << i << "]" << argv[i] << endl;
}
return 0;
}

2、执行

由于main函数不能被其它函数调用, 因此不可能在程序内部取得实际值。那么,在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从操作系统命令行上获得的。当我们要运行一个可执行文件时,在Linux运行时,后面跟上参数即可把这些实参传 送到main的形参中去。

在Linux下运行上面的程序结果为:

可以看出:arg[0]是程序的名称,后面的参数,从arg[1]开始都按顺序存放在字符数组中,argc数至少是1个。

最新文章

  1. 从0到1,教你实现基于Ruby的watir-webdriver自动化测试
  2. 启动mysql服务 报1067 错误
  3. 关于新中新二代身份证读卡器DKQ-A16D的一些问题
  4. java核心知识点学习----多线程间的数据共享和对象独立,ThreadLocal详解
  5. CentOS6.4下使用默认的PDF文档阅读器出现乱码的解决方案
  6. VA对于开发QT是神器
  7. 数据结构——HDU1312:Red and Black(DFS)
  8. oracle单行函数之字符函数
  9. 主题: jQuery异步调用KindEditor无法赋值【解决】
  10. java继承中的初始化顺序
  11. 【LaTeX排版】LaTeX论文排版&lt;二&gt;
  12. Android 开发 Camera类的拍照与录像
  13. C语言作业04-数组
  14. Matlab 瑞利信道仿真
  15. day2_Jmeter压测
  16. java学习之租车系统
  17. 一、图解Java中String不可变性
  18. python中 staticmethod与classmethod
  19. OSGi学习-总结
  20. Windows下安装Memcached服务及安装PHP的Memcached扩展

热门文章

  1. 二叉堆(1)BinaryHeap
  2. 图片,base64 互转
  3. python 轮询,长轮询
  4. spring框架中用到了哪些设计模式
  5. 洛谷P1308 统计单词数
  6. 【你不知道的javaScript 上卷 笔记6】javaScript中的对象相关内容
  7. dataTables插件的使用
  8. C++中多态实现的关键——虚函数
  9. LVS笔试题!
  10. Appnium 环境搭建