欢迎访问 生活随笔!

凯发ag旗舰厅登录网址下载

当前位置: 凯发ag旗舰厅登录网址下载 > 编程资源 > 编程问答 >内容正文

编程问答

linux命令行参数 -凯发ag旗舰厅登录网址下载

发布时间:2024/10/14 编程问答 30 豆豆
凯发ag旗舰厅登录网址下载 收集整理的这篇文章主要介绍了 linux命令行参数 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
linux 微知识

在大学里面,老师一般会这样教,定义main 函数应该是这样的:

甚至是这样的:

但是其实在 linux 下,一个正确的main 函数应该被定义为如下:

大家可以看到,main 函数中有两个参数,分别是 argc 和 argv。但是在 c 语言中规定,main 函数是不能被别的函数调用的,那究竟是谁传递了参数给main 函数呢?

答案是:命令行

当我们在命令执行程序时,其实就是在给main 函数传递参数,其中 argc 的全称是 argument count,即命令行的参数的数目。 argv 的全称是 argument value,即命令行的参数对应的值。

我们先来研究一下这个 argc 吧,注意,这个 argc 指的不是额外的参数,而是包含执行文件在内的参数个数。举个例子吧,假设有程序如下:

执行程序结果:

命令行的参数是以空格分开,大家可以看到,argc 就是参数个数,包含执行的文件在内。

那么再来看看这个 argv,类型是 char *[],如果有一定 c 语言功底的同学应该知道,这个是一个字符指针数组,通俗一点来讲,就是一个数组名字叫 argv,并且数组中放着很多个字符串:

那么究竟是谁放在里面呢?没错,就是命令参数的值,以上面的实例为例子

gec@ubuntu:~$ ./example one two three 代表当前有 4 个参数,那么 argv 的数组中就应该是这样的:

那么数组访问每个成员,我们在大学里面已经学习过了,使用下标就可以访问:argv[0]为数组第一个成员,argv[1]为数组第二个成员,如此类推。

那么接下来写个程序验证一下:

执行的结果:


tomorrow 星辰 , 凯发ag旗舰厅登录网址下载的版权所有丨如未注明 , 均为原创丨本网站采用by-nc-sa协议进行授权
转载请注明原文链接:linux c 语言:main 函数的命令行传参 喜欢 (6)

总结

以上是凯发ag旗舰厅登录网址下载为你收集整理的linux命令行参数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发ag旗舰厅登录网址下载网站内容还不错,欢迎将凯发ag旗舰厅登录网址下载推荐给好友。

网站地图