C语言main函数的参数
2021-02-12 17:19
标签:函数的参数 联系 情况 博客 class 第一个 strong 技术 dna 1)Linux命令中,无参数的不多。 2)大部Linux命令是带参数的。 各位现在是在C语言学习的初级阶段,编写的C程序非常简单,运行不需要参数,但是在实际开发中,main函数一般都需要参数,没有参数的情况极少。 main函数的参数是从命令提示符下执行程序的时候传入,例如ls 命令。 在以上示例中ls命令有两个参数,-l和book1?.c。 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,但是不建议这么做。 先假设程序执行都是有参数的,也就是说main函数都有参数,那么使用者怎么知道程序的参数个数和含义,记住它?看使用手册?不是,优秀的程序员会在程序中提供说明文字。我们先来看一个例子。 示例(book103.c) 运行程序的时候,如果参数不符,运行效果如下。 如果参数个数相符,运行效果如下。 从以上的例子可以看出,如果执行程序的时候提供的参数与设计不符,显示程序的使用说明,说明文字应该包括程序的功能和全部参数的解释,还可以包括作者、联系方式等更详细的信息。 程序的使用说明文字非常重要,有几个原因: 1)程序的使用者不一定会写程序,也没必要去查使用手册等资料; 2)程序的使用者就算会写程序,也没必要在使用的时候去看源代码,并且,您也不一定想让他看到源代码; 3)如果程序的使用者是您自己,时间一长,您也会忘记程序的参数。 当然,这些只是程序员的约定,不是C语言的规定。 envp存放了当前程序运行环境的参数。 示例(book105.c) 运行效果 注意了,book105运行的结果与linux系统的env命令相同。 在实际开发中,envp参数的应用场景不多,各位了解一下就行了。 编写示例程序,把本章节介绍的知识点全部演示一遍,用程序演示可以加深您的理解和映象。 C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。 如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢!!! C语言main函数的参数 标签:函数的参数 联系 情况 博客 class 第一个 strong 技术 dna 原文地址:https://blog.51cto.com/14793471/2488330pwd #显示当前目录
clear #清屏
cp book1.c book2.c
mkdir /tmp/dname
mv book3 /tmp/dname/book3
rm -rf /tmp/dname
一、main函数的参数
int main(int argc,char *argv[],char *envp[])
/*
* 程序名:book101.c,此程序演示main函数的参数。
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include
二、C程序的规范写法
/*
* 程序名:book103.c,此程序演示main函数的参数。
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include
三、envp参数
/*
* 程序名:book105.c,此程序用于演示当前程序运行环境的参数envp。
* 作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include
四、课后作业
五、版权声明
来源:C语言技术网(www.freecplus.net)
作者:码农有道
如果文章有错别字,或者内容有错误,或其他的建议和意见,请您留言指正,非常感谢!!!