在我们之前编写的C程序中,main函数是没有参数的,但是在实际开发中,main函数一般都需要参数,没有参数的情况极少。

main函数的参数是从命令提示符下执行程序的时候传入,例如ls 命令。

在以上示例中ls命令有两个参数,-l和book1*。

main函数的参数

main函数有三个参数,argc、argv和envp表示。

int argc,用于存放命令行参数的个数。

char *argv[],是个字符串的数组,每个元素都是一个字符指针,指向一个字符串,即命令行中的每一个参数。

char *envp[],也是一个字符串的数组,这个数组的每一个元素是指向一个环境变量的字符指针。

我们把envp放一下,先讲argc和argv。

示例(book101.c)

运行结果

注意几个事项:

1)argc的值是参数个数加1,因为程序名称是程序的第一个参数,即argv[0],在上面的示例中,argv[0]是./book101。

2)main函数的参数,不管是书写的整数还是浮点数,全部被认为是字符串。

3)参数的命名argc和argv是程序员的约定,你也可以用argd或args,但是不建议这么做。

C程序的规范写法

先假设程序执行都是有参数的,也就是说main函数都有参数,那么使用者怎么知道程序的参数个数和含义,记住它?看使用手册?不是,好的程序员会在程序中说明。我们先来看一个例子。

示例(book103.c)

运行程序的时候,如果参数个数相符,运行结果如下:

如果参数个数不符,运行结果如下:

从以上的例子可以看出,如果执行程序的时候参数与设计不符,显示程序的使用说明,说明文字应该包括程序的功能和全部参数的解释,还可以包括作者、联系方式等更详细的信息。

程序的使用说明文字非常重要,有几个原因:1)程序的使用者不一定会写程序,也没必要去查使用手册等资料;2)程序的使用者就算会写程序,也没必要在使用的时候去看源代码,并且,你也不一定想让他看到源代码;3)如果程序的使用者是你自己,时间一长,你也会忘记程序的参数。

当然,这些只是有经验程序员的约定,不是C语言的规定。

envp参数

envp存放了当前程序运行环境的参数。

示例(book105.c)

运行结果

在实际开发中,envp参数的应用很少,各位了解一下就行了。

版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

来源:C语言技术网(www.freecplus.net)

作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢!!!

如果文章有错别字,或者内容有误,或其他的建议或意见,请您留言指正,非常感谢!!!

C语言main函数的参数相关推荐

  1. main arguments C语言,IT之家学院:通俗科普C语言main函数的参数

    感谢IT之家网友 stevapple 的投递 对于C语言的初学者,关于main函数这个程序主入口一定接触得再多不过了.我们来看看下面几种常见的入门程序--Hello World: 如果是由国内老教材( ...

  2. c语言main函数的参数argc,argv说明

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

  3. C语言-main函数的参数

    下面有这样的一段代码 #include <stdio.h> int main(int arg){printf("%d\n",arg); } arg代表的是执行程序的时候 ...

  4. c语言中argc的作用,C语言中main函数的参数argc和argv

    参考资料: C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* arg ...

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

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

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

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

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

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

  8. C语言main函数参数、返回值

    C语言main函数返回值: main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其他数字的含义则由系统决定,通常,返回非零代表程序异常退出,即使程序运行结果正确也仍需修复 ...

  9. c语言main函数参数问题

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

最新文章

  1. Maven 的Could not calculate build plan错误解决方法(不一定适用,看原因)
  2. WKWebView不显示提示框(Swift)
  3. 【五校联考6day2】yi
  4. [Android] 给图像添加相框、圆形圆角显示图片、图像合成知识
  5. MP3技术白皮书-音频格式全解析
  6. [COURSE_PTHE] 18. 缓冲区溢出
  7. Django模板:for标签,for标签内置变量forloop
  8. 设置最小值_WELSIM中设置有限元计算结果的最大最小值
  9. java操作Excel实现读写
  10. mysql忘记root密码安装_MySql忘记root密码的解决方法
  11. 接口测试及常用接口测试工具
  12. “网红蜥蜴”背后的创业路,他潜心于宠物蜥蜴的研发与产业化_汇新云
  13. 几何光学学习笔记(35)- 7.6 CIE标准色度学系统
  14. priority的用法
  15. 怎么搭建自己的内测分发平台?
  16. 华为计步器下载手机版_华为健运动计步器
  17. hibernate之HQL属性查询
  18. oracle 10 卸载工具,完全卸载oracle10个(转)
  19. js对象数组去除重复
  20. java和Android学习书籍

热门文章

  1. Ubuntu18.04下VIM安装及配置
  2. WEBAR入门--凤凰腾飞
  3. 北师大计算机网络教育考试,2018年北京师范大学教育学部408计算机学科专业基础综合之计算机网络考研仿真模拟五套题...
  4. 【C语言】函数与递归
  5. FISCO BCOS Transaction execution error交易事务合约执行失败原因
  6. 实战天翼云云主机系统盘扩容
  7. 浅谈设计模式之状态机模式
  8. Python中字符串的格式化
  9. Menu的几种基础用法
  10. vue横向树结构_基于vue.js实现树形表格的封装