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