Linux C 编程中,int main(int argc,char* argv[])解析

 

 

    在学习Linux C的编程中,int main(int argc,char* argv[])这个主函数样子应该不少见,那要怎么理解呢?传入字符串后,如果你会使用传入后的字符串中的单个字符,理解其中的原理,那么就不用往下看了

    argc是一个整型,指的是往主函数传入字符串的个数。

    比如:

               编译好test.c这个文件后生成可执行文件test,敲指令   ./test test1 test2 test3 

               这时argc为4,分别为test,test1,est2,test3。

    

argv[]是一个指针数组,即每个数组元素都为一个指针,即每个数组元素都是一个地址变量,每个元素存储的是字符串的地首地址(字符串本身就是它的首地址)。

    所以,用上面的例子,

                          printf("%s\n",argv[0]);        显示:test

                          printf("%s\n",argv[1]);        显示:test1

                          printf("%s\n",argv[2]);        显示:test2

                          printf("%s\n",argv[3]);        显示:test3

                         

    上面说的传入来的字符串的使用,如果我要使用传入来的字符串中的单个字符呢?那么就要先理解字符串的最基本概念了。

     C语言中没有字符串这一种类型,但是它的存储方式是一维数组的方式存储的,所以一个字符串就是一个数组,字符串本身就是这个数组的首地址。

     比如:

                 char a[]="test";

                 printf("%c\n",a[0]);                显示t

              

                 等于

                 printf("%c\n","test"[0]);          显示t

     因为"test"就是字符串test的首地址,相当于a[]中的a.

     所以,要用传入进来的argv[]中的单个字符,按上面的理解,不是一件很简单的事情吗?

     如:

                ./test test1   (这样子输入指令)

                printf("%s\n",argv[1]);             显示:test1

                printf("%c\n",argv[1][0]);           显示:t

                printf("%c\n",argv[1][1]);           显示:e

  

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值