指针运算的优先级:++、*
来源:网络收集 点击: 时间:2024-02-22【导读】:
一元运算符 * 和 ++ 具有相等的优先级别,但是在运算时它是从右向左顺序进行的。即,在 *p++中,++ 应用于p而不是应用于*p,实现的是指针自增1,而非数据自增1。下面,通过下面的例子说明这个微妙之处。工具/原料more电脑,vc6.0, xp方法/步骤1/4分步阅读
3/4
注意事项
启动VC6.0,并新建工程,然后在工程目录下新建order.c文件。
2/4order.c文件代码如下:

从上述代码文件中我们可以知道:
p1=p2=data; //将data数组的首地址赋给指针
p3=moredata;//将moredata数组的首地址赋给指针
printf( *p1 = %d, *p2 = %d, *p3 = %d\n, *p1 ,*p2 , *p3);//分别打印输出数组data、moredata的首元素
printf( *p1++ = %d, *++p2 = %d, (*p3)++ = %d\n, *p1++, *++p2 ,(*p3)++);//体现了数组与指针一元运算符 * 、++之间的微妙之处。
*p1++ 实现了先输出p1所指地址处的数据值,即100,然后指针后移到下一指针处,指向200
*++p2 实现了先将指针指向后移,再输出此时指针所指处的数据的值,即200
(*p3)++ 实现的是将指针p3所指向地址处的数据值(300)输出后再自增1,得301
4/4对该工程进行编译连接执行得运行结果:

注意* ++ 的运算顺序
自增运算符++在前与在后的运算顺序
优先级版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_106468.html
上一篇:魔兽世界中级钓鱼教材在哪里买?
下一篇:471除以67竖式怎么列