每个C语言程序都必须有一个称为main()的函数,作为程序启动的起点。当执行程序时,命令行参数(command-line argument)(由shell逐一解析)通过两个入参提供给main()函数。第一个参数int argc,表示命令行参数的个数。第二个参数char *argv[],是一个指向命令行参数的指针数组,每一参数又都是以空字符(null) 结尾的字符串。第一个字符串,亦即argv[0]指向的,(通常)是该程序的名称。argv中的指针列表以NULL指针结尾(即argv[argc]为NULL)。

argv[0]包含了调用程序的名称,

使用main(int argc,char *argv[]) == main(int argc,char **argv)的基本操作是linux编程的最基本的一步,在windows下也是exe脱离IDE运行的必学技能,程序编译成功之后,在cmd下,使用参数输入来运行程序,自己控制程序参数的输入来测试和运行程序。

int argc代表输入参数的个数,英文全名arguments count,以空格来计数,程序名(*.exe)是为第一个参数。

char *argv[]以字符数组的方式储存参数内容,英文全名arguments vector,argv[1]代表程序名。

下面的程序演示argc和argv的使用:

#include <stdio.h>int main(int argc, char ** argv)
{int i;for (i=0; i < argc; i++)printf("Argument %d is %s./n", i, argv[i]);return 0;
}

假如上述代码编译为hello.exe,那么运行

hello.exe a b c d e

将得到

Argument 0 is hello.exe.
Argument 1 is a.
Argument 2 is b.
Argument 3 is c.
Argument 4 is d.
Argument 5 is e.

运行

hello.exe lena.jpg

将得到

Argument 0 is hello.exe.
Argument 1 is lena.jpg.方法2. 项目——属性——配置属性——调试——命令参数,设置命令参数就可以传入

http://www.cnblogs.com/rainbow70626/p/5595454.html

转载于:https://www.cnblogs.com/loanhicks/p/6175644.html

main(argc,argv[])相关推荐

  1. int main(argc,*argv)中argc,argv的相关说明

    说的特别清楚明白,适用于代参的程序运行: https://www.cnblogs.com/linshui91/archive/2010/09/29/1838762.html

  2. main函数的参数-argc,argv介绍

    在main函数的定义形式中,会涉及到argc,argv以及envp参数(参考上一篇:C程序main函数https://blog.csdn.net/m0_52892985/article/details ...

  3. glutInit(argc, argv); glut初始化API

    int main(int argc, char **argv){} int argc 和 char **argv 传递 到 你的自定义函数,再传递给 glutInit(). ------------- ...

  4. argc, argv 到底是干啥用的?

    文章目录 前言 分析 初探类型 文件IO 多个文件IO 自定义格式 总结 前言 在旧版本的IDE中新建一个C/C++源文件,你可能会看到这种样子的main函数 int main(int argc,ch ...

  5. argc,**argv

    main函数的参数argc,argv用于 取得命令行参数 int main(int argc,char **argv) 或 int main(int argc, char *argv[]) argc是 ...

  6. 关于C++中的argc,argv的使用方法

    想必很多人都好奇C++中的int argc 和 char **argv .那我们今天来看看argc,argv的使用方法 1,int argc argc 实际上指命令行接受的参数个数, 比如说,这个程序 ...

  7. CMake中的ARGC ARGV 和ARGN参数意义

    编写或者查看一些开源cmake文件中经常遇到在宏(macro)和函数中经常会遇到ARGC ARGV 和ARGN等参数,该参数为cmake中专用变量,分别表示宏或者函数参数中的特殊意义. ARGC AR ...

  8. argc,argv,argv[0]用法详解

    http://www.site.uottawa.ca/~lucia/courses/2131-05/labs/Lab3/CommandLineArguments.html You'll notice ...

  9. c语言中命令行参数argc,argv[]详解

    argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0 ...

  10. php argc argv,argc和argv怎么使用

    argc即为argument count的缩写,表示传入main函数的参数个数: argv即为argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一 ...

最新文章

  1. python的快速入门-Python如何快速入门的基础知识
  2. java 网络 io流_【015期】JavaSE面试题(十五):网络IO流
  3. get方法报空指针_智能指针shared_ptr踩坑笔记
  4. 到底什么是P问题,NP问题,NPC问题,NP-hard问题?什么是规约(或约化)?
  5. linux之autoconf/automake
  6. 80486微型计算机的字长,80486,80586等是什么样的电脑?
  7. 浅谈webpack打包原理
  8. 字体选择_Word文档中的字体批量选择与更改,查找替换功能必杀技
  9. 怎么用计算机输入开七次方根,计算器开根号怎么按
  10. DDR3的容量计算方法
  11. css层叠实例,css 层叠与z-index的示例代码
  12. 获取驱动失败Java连接数据库,好哀伤,java连接sql数据库加载驱动就是失败了
  13. 【云计算的1024种玩法】搭建个人博客
  14. CEPH HEALTH错误(二):HEALTH_WARN mds cluster is degraded
  15. 免费简历,ppt模板
  16. 原生JS javascript解除绑定事件 JS删除绑定事件
  17. ZigBee 3.0实战教程-Silicon Labs EFR32+EmberZnet-2-01:芯科的硬件解决方案EFR32
  18. 【YOLOv7/YOLOv5系列改进NO.51】融入多分支空洞卷积结构RFB-Bottleneck改进PANet构成新特征融合网络
  19. 【论文写作】如何画出好看的图表
  20. linux把ip加入黑名单,Linux防火墙(iptables)之黑名单

热门文章

  1. ios 添加block 类别_ios block是什么数据类型?
  2. 怎么打包图片_房产也能批发!澳村庄40栋房打包出售,总价$175万,买了变村长!...
  3. JUC与JVM并发编程学习笔记02
  4. python实现求解给定整数的质因数
  5. android python .xlsx_python读写xlsx
  6. shell 除法保留n位小数
  7. a^x ≡1(mod n) Ord_n(a)=x什么意思
  8. 计算机网络第三版周舸答案,计算机网络技术基础第3版周舸第一章节计算机网络基础知识课件教学.ppt...
  9. 相继平均法matlab代码_matlab实现不同平均数的求法
  10. java中nul值的处理