细节七
Posted redman274
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了细节七相关的知识,希望对你有一定的参考价值。
1. ++与*运算情况
(*p)++与*p++完全不同,前者使得修改地址处的内容,后者仅仅p++,因为++运算符优先级大于*
注意:
前缀递增递减和*优先级相同,从右到左;
后缀递增递减比前缀优先级高,从左到右。
测试如下:
int
arr[5] = { 1,3,5,7,9 };
int
*p = arr;
*++p:p先自+,然后*p,最终为3——马上改变指针,*下一个指针
*p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1] ————之后改变指针,*原数据,指针++
*(p++):效果等同于*p++ ——之后改变指针,*原数据,指针++ 同*p++
(*p)++:先*p,即arr[0]=1,然后1++,该语句执行完毕后arr[0] =2——不改变指针,数据++
++*p:先*p,即arr[0]=1,然后再++,最终为2——不改变指针,++数据
2.
以上是关于细节七的主要内容,如果未能解决你的问题,请参考以下文章
阿里云服务器ECS第七代c7/g7/r7/c7t/g7ne/g7t/r7t参数性能详解!