C语言main函数的参数

历史文章 专栏收录该内容
58 篇文章 8 订阅

 

       在我们之前编写的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

作者:码农有道

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

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

评论 2 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

C语言技术网-码农有道

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值