C和指针 第13章 高级指针话题 13.4 命令行参数

本文介绍了C语言如何处理命令行参数,主要讲解了命令行参数的传递方式,包括argc和argv的用途,以及如何通过main函数访问和处理这些参数。示例程序演示了打印命令行参数和区分选项参数与文件名参数的方法。
摘要由CSDN通过智能技术生成

13.4 命令函参数
    处理命令行参数是指向指针的指针的另一个用武之地。有些操作系统,包括UNIX和MS-DOS,让用户在命令行中编写参数来启动一个程序的执行。这些参数被传递给程序,程序按照它认为合适的任何方式对它们进行处理。
    13.4.1 传递命令行参数
    这些参数是如何传递给程序呢?C程序中的main函数具有两个形参。第1个形参称为argc,它表示命令行参数的数目。第2个通常称为argv,它指向一组参数值。由于参数的数目并没有内在的限制,因为argv指向这组参数值(从本质上说是一个数组)的第1个元素。这些元素的每一个都是指向一个参数文本的指针。如果程序需要访问命令行参数,main函数在声明时就要加上这些参数:
    int main( int argc, char **argv )
    注意,这两个参数通常取名为argc和argv,但它们并无神奇之处。如果你喜欢,也可以把它们称为fred和ginger,只不过程序的可读性会差一点。
    下面这条命令行是如何进行传递的。
    cc -c -o main.c insert.c -o test
    注意指针数组:这个数组的每个元素都是一个字符指针,数组的末尾是一个NULL指针。argc的值和这个NULL值都用于确定实际传递了多少个参数。argv指向数组的第1个元素,这就是它被声明为一个指向字符的指针的指针的原因。
    实际上,有些操作系统向main函数传递3个参数,它是一个指向环境变量列表以及它们的值的指针。
    最后一个需要注意的地方是第1个参数就是程序的名称。把程序名作为参数传递有什么用意呢?程序显然知道自己的名字,通常这个参数是被忽略的。不过,如果程序采用几组不同的选项进行启动,此时这个参数就有用武之地了。在许多U

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_40186813

你的能量无可限量。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值