有关指针(2)

来源:互联网 发布:python参考手册 第5版 编辑:程序博客网 时间:2024/05/21 01:56

指针变量的运算:

如果先使p指向数组a的首元素(即p=a),则

1.p++(或p+=1)。使p指向下一个元素,即a[1]。若再执行*p。则得到下一个元素a[1]的值。

2.*p++.由于++和*同优先级,结合方向为自右向左。因此,它等价于*(p++)。作用是先得到p指向变量的值(即*p),然后再使p+1->p。

3.*(p++)与*(++p)作用不同。前者是先取*p值,然后使p加1。后者是先使p加1,再取*p。若p初值为a(即&a[0]),则*(p++)为a[0],而*(p++)为a[1]。

4.++(*p)表示p所指向的元素值加1,如果p=a,则++(*p)相当于++a[0]。若a[0]=3,则在执行++(*p)(即++a[0])后,a[0]的值为4。注意:是元素值a[0]加1,而不是指针p的值加1。

5.如果p当前指向a数组中第i个元素,则:

    *(p--)相当于a[i--],先对p进行“*”运算,再使p自减。

    *(++p)相当于a[++i],先使p自加,再作*运算。

    *(--p)相当于a[--i],先使p自减,再作*运算。

将++和--运算符用于指针十分有效,可以使指针变量自动向前或向后移动,指向下一个或上一个数组元素。

0 0
原创粉丝点击