int argc,char *argv
agrc表示参数的个数
argv储存参数

这个函数的意思是逐一输出参数

实际上,main函数也可以带参数。带参数main函数的定义格式如下:
void main(int argc, char *argv[])
{
... ...
}
argc和argv是main函数的形式参数。这两个形式参数的类型是系统规定的。如果main函数要带参数,就是这两个类型的参数;否则main函数就没有参数。变量名称argc和argv是常规的名称,当然也可以换成其他名称。
那么,实际参数是如何传递给main函数的argc和argv的呢?我们知道,C程序在编译和链接后,都生成一个exe文件,执行该exe文件时,可以直接执行;也可以在命令行下带参数执行,命令行执行的形式为:
可执行文件名称 参数1 参数2 ... ... 参数n
可执行文件名称和参数、参数之间均使用空格隔开。例如,我们在DOS下运行copy c:\test.txt d:\test.txt,可执行文件名称为copy,参数1为字符串“c:\test.txt”,参数2为“d:\test.txt”。结果copy命令将c:\test.txt拷贝到d盘,目标文件取为test.txt。
如果按照这种方法执行,命令行字符串将作为实际参数传递给main函数。具体为:
(1) 可执行文件名称和所有参数的个数之和传递给argc;
(2) 可执行文件名称(包括路径名称)作为一个字符串,首地址被赋给argv[0],参数1也作为一个字符串,首地址被赋给argv[1],... ...依次类推。
例如,现在运行命令行(test是编译后的exe文件名称):
C:\TC\test how are you
那么test工程的main函数参数argc=4;
argv[0]将保存字符串"C:\TC\test"的首地址;
argv[1]将保存字符串"how"的首地址;
argv[2]将保存字符串"are"的首地址;
argv[3]将保存字符串"you"的首地址;
下面的例子打印所有的argv参数:
main(int argc, char *argv[])
{
int i;
printf("\nTotal %d arguments",argc);
for(i=0;i<argc;i++)
{
printf("\nArgument %d = %s ",i+1, argv[i]);
}
}
如果编译后的exe文件名称为test,在DOS下运行C:\TC\test how are you,结果输出:
Total 4 arguments
Argument 1 = C:\TC\test.exe
Argument 2 = how
Argument 3 = are
Argument 4 = you
我们也可以在调试状态下输入命令行参数,方法是:
在TurboC的Options菜单下有一个子菜单Arguments,选择该项并确定,弹出输入窗口;在输入窗口键入命令行参数即可。比如要调试上述的test,可以在输入窗口键入how are you。在调试过程中,可执行文件名称和参数字符串将被传递给main函数的形式参数。
在DOS系统下,人们常常希望在运行exe的同时,传递一些有用的信息。例如copy.exe,运行时将源文件名称和目的文件名称作为参数传入。利用指针数组argv作为main函数的形式参数,可以满足这种需要。

转载于:https://www.cnblogs.com/huangf714/p/5794974.html

main函数参数解析相关推荐

  1. c语言main函数参数详解,c/c++程序main函数参数解析,以及参数传递的不同方法

    1. 程序运行时传递参数的不同方法: 1)通过命令参数传递参数: 2) 通过txt文件读取参数. 2. 方法举例 1)通过命令参数传递参数,即解析main函数的参数. main函数可以不带参数,也可以 ...

  2. Linux C编程--main函数参数解析

            我们经常用的main函数都是不带参数的.因此main 后的括号都是空括号.实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数.C语言规定main函数的参数只能有 ...

  3. linux下C语言main函数参数解析

    1. linux下常见的main函数有两种形式: int main(int argc, char **argv) int main(int argc, char * argv[]) 2. 参数介绍 第 ...

  4. main主函数参数解析

    默认的main函数参数 int main(int argc, char *argv[]) {// 主函数的代码逻辑return 0; } 其中,int 是主函数的返回值类型,主函数执行完后会返回一个整 ...

  5. 【C】关于main()函数参数的问题;

    main()函数参数的一般形式: int main(int argc, char *argv[]) int argc用来表示参数的数量,argv[]数组是用来存放参数的值: 但是在linux下的gcc ...

  6. C语言 main 函数参数 main(int argc, char *argv[]) - C语言零基础入门教程

    目录 一.main 函数写法 二.main 函数参数简介 三.使用 main 函数参数 1.打印 main 函数参数 a.直接运行 exe 文件 b.打开 cmd 命令行窗口执行 exe 文件 c.打 ...

  7. Linux中 C++ main函数参数argc和argv含义及用法

    Linux中 C++ main函数参数argc和argv含义及用法 简介 argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vecto ...

  8. Main函数参数argc,argv说明

    C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* argv[]) ...

  9. C语言main函数参数详解

    main函数参数 一共有三个: 1.int argc 整型变量 2.char *argv[] 字符指针的数组,通俗一点就是字符串数组,每个元素都是字符串 3.char *envp[] 字符串数组 这三 ...

最新文章

  1. 一个简单的HTTP通讯的例子,使用了CInternetSession,CHttpConnection,CHttpFile三个类
  2. windows 下 logstash 安装启动
  3. 第6章循环结构(二)
  4. 上海交大计算机学院奖学金,上海交通大学-电子信息与电气工程学院-学生工作办公室...
  5. RuntimeError: freeze_support()
  6. 设计原则:不要为了复用而使用继承
  7. 华为供应链公司已收到华为Mate50手机设计方案
  8. C#递归拷贝文件夹下文件以及文件夹
  9. Linux 程序运行时报错:找不到库文件[cannot open shared object file: No such file or directory ```](转载)
  10. Linux 内核C -- 第01课,C 语言语法扩展
  11. 底层网工、0基础、记性差,学习CCIE/HCIE,到底是啥体验?
  12. flex布局完整示例
  13. 常用LDO低压差线性稳压芯片封装型号以及基本电路
  14. ftp上传工具 6款用了就会爱上的ftp上传工具良心推荐
  15. VA虚拟平台十大亮点
  16. winForm c#导出Excel
  17. 台式计算机能不能安装蓝牙驱动,台式电脑没有蓝牙该怎么安装?安装台式电脑的蓝牙的方法...
  18. JS将秒数换算成时分秒 以及转化为年月日 时分秒以及多长时间以前
  19. 基于java web的网上书店系统
  20. 一个程序员悲催的网络爱情

热门文章

  1. 【前端 · 面试 】HTTP 总结(四)—— HTTP 状态码
  2. php访问c#接口,介绍C#中的接口
  3. 如何安装Exchange2010上安装更新汇总(Update Rollup)
  4. ORM框架之Mybatis(六)mybatis通用mapper
  5. 5年赚50倍的段永平:这几家公司正在长长的坡上滚着厚厚的雪
  6. 请用旧版的 Scala-2.11 搭配 Spark-2.4.8 / hadoop-2.7
  7. 2020-06-05 原始套接字/AF_PACKET链路层访问
  8. 非资深玩家留言频率限制(1024秒限制)
  9. AcheGesture-开源免费的手势框架
  10. DXUT框架剖析(10)