命令行参数及字符串常量

来源:互联网 发布:石泽研究所淘宝店真假 编辑:程序博客网 时间:2024/06/05 10:43

      命令行参数是C语言中指向指针的指针的另一个用武之地,很多的操作系统都允许用户在命令行中编写参数来启动一个应用程序的执行,这些参数被传递给程序,程序按照他认为合适的任何方式对它们进行处理。

      我们首先来研究一下C语言中main函数的参数,main函数有两个参数,argc和argv,第一个参数argc表示命令行参数的数目,第二个参数argv他指向一组参数值,argv指向这组参数值的第一个参数。实际main函数的声明如下:

 

      int  main( int argc,  char  **argv  )

 

 

     字符串常量出现于表达式中时,它的值是一个指针常量,因此我们可以向下面的方式使用这个指针常量

 

     puts( "Hello" + 1 );    //语句执行结果输出:ello

 

     putchar( "Hello"[1] );  //语句执行输出结果:e

 

     putchar( *("Hello" +1) );   //输出结果:e

 

     通过上面的几个例子我们也可以看出实际上指针常量类似于一个字符数组的数组名。

 

     针对这个事实,有一个很好的例子利用的这一点:

 

     putchar( "0123456789ABCDEF"[value])  

     这里是函数将value小于16的值转换成16进制并打印出来,这里只是一个小小的应用,实际上可以通过这个小技巧实现转换。

 

原创粉丝点击