在C语言中指针的几种操作

上一篇 / 下一篇  2007-06-29 16:57:44 / 个人分类:C语言学习

   现在总结一下,在C语言中,指针就能进行那些运算。

   1、关系运算:

   两个指针p和q,当他们指向同一个数组中元素时,可以进行诸如<,>,!=等关系运算,注意这里一定是指向同一个数组的指针,否则没有任何意思了。

   p<q为真时,表明p所指的元素在q所指的元素的前面。

   p!=q为真时,表明p和q没有指向同一个元素。

  2、减运算

     p-q的结果为一整型量,表明在p和q两个指针间的元素个数。

  3、指针和整数相加减

     比如:p++,p--,p+2,p-2等,表明指针向前或者向后移动几个元素。

  4、使用运算符*或者&

    例如:p=&a[4],表示p指针指向数组中第五个元素。

    *p,表示p指针指向的元素的值。

    例如:static int a[5]={5,4,3,2,1};

         p=a;

        那么*p=a[0]=5;

        如果:p=&a[4];

        那么:*p=a[4]=1;

   以上就是总结的C语言中指针的几种运算,其他对指针的操作都是非法的。

另外注:

       static int a[5]={1,2,3,4,5};

       int *p;

       p=a;

       那么可以进行P++,p+2,p+4,等运算。

       a也可以进行:a+1,a+2等形如:a+i的运算,也可以进行*(a+1),*(a+i)的运算,但不能进行a++的运算。

      a+1=&a[1];*(a+1)=a[1];意思就是a+1相当与一个指向a[1]这个元素的指针,*(a+1)就是取出a[1]这个元素的值了。

 

 


TAG: C语言学习

 

评分:0

我来说两句

Open Toolbar