Linux:命令行参数

目录

一、命令行参数是什么?

二、命令行参数作用

三、命令行参数如何传递给main函数?


一、命令行参数是什么?

C语言中的main函数,我们发现既可以带参数,也可以不带参数。带参数的main函数如下:

参数为一个整数argc,一个字符指针数组argv

这些参数是什么呢?agrc是agrv数组的元素个数;argv存放的是命令行输入的内容,以空格为分割

当我们输入./test2.exe执行程序时,输出结果是./test2.exe

当我们在./test2.exe后加上不同的字符后,其也会跟着输出

++在命令行中输入,最终作为参数传给main函数,这就是命令行参数++

二、命令行参数作用

我们在命令行中输入的内容,都会被当作参数传给main函数,这有什么用处呢?

我们所使用的Linux系统命令,例如ls -l,ls -d等,通过++输入不同的选项实现不同的功能++,其就是通过命令行参数来实现的

三、命令行参数如何传递给main函数?

在命令行中输入的数据,是如何作为参数传递给main函数的呢?

已知:子进程可以访问父进程的数据

Linux系统中通过命令行执行的程序,都是命令行解释器bash的子进程。我们在命令行中输入的数据默认都是输入给其父进程bash的,bash进程将命令行参数形成一个字符串数组,结尾放NULL,然后传递给main函数

相关推荐
funnycoffee1233 小时前
linux系统DNS修改命令
linux·运维·服务器·linux dns
小哈里4 小时前
【工具】Linux远程开发核心工具,Git命令缩写与SSH常用命令
linux·git·ssh·工具·远程开发
夏乌_Wx4 小时前
深入理解x86内存寻址:从8086实模式到IA-32段页式映射&Linux内核实现
linux
czxyvX4 小时前
012-Linux简易Shell编写
linux
S-码农5 小时前
Linux 进程核心知识
linux
努力努力再努力wz5 小时前
【Linux网络系列】:TCP 的秩序与策略:揭秘传输层如何从不可靠的网络中构建绝对可靠的通信信道
java·linux·开发语言·数据结构·c++·python·算法
2401_858286117 小时前
OS55.【Linux】理解信号量(不是信号)
linux·运维·服务器·计数器·信号量
S-码农8 小时前
Linux进程通信——消息队列
linux
零基础的修炼9 小时前
Linux网络---数据链路层
linux·服务器·网络
楼田莉子9 小时前
Linux学习:线程的同步与互斥
linux·运维·c++·学习