首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >*p++、(*p)++、*++p、++*p有什么不同(从大一写的QQ空间迁移过来)

*p++、(*p)++、*++p、++*p有什么不同(从大一写的QQ空间迁移过来)

作者头像
砖业洋__
发布2023-05-06 16:30:54
发布2023-05-06 16:30:54
3570
举报
文章被收录于专栏:博客迁移同步博客迁移同步
代码语言:javascript
复制
 int a[5]={1,2,3,4,5};  
int *p = a;  
 
*p++ 先取指针p指向的值(数组第一个元素1),再将指针p自增1;

cout << *p++; // 结果为 1  
 
cout <<(*p++); // 1 
执行后a[5] = {1,2,3,4,5}

代码语言:javascript
复制
 //下面两种情况相同

 (*p)++ 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2) 
cout << (*p)++; // 1  
cout <<((*p)++) //2  
 
执行后a[5] = {2,2,3,4,5}

代码语言:javascript
复制
++*p 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2) 
cout <<++*p; // 2   
cout <<(++*p) //2  
 执行后 a[5] = {2,2,3,4,5} 
 

代码语言:javascript
复制
前三个都是先取出p指向的数值  
 
 *++p 先将指针p自增1(此时指向数组第二个元素),* 操作再取出该值 
cout << *++p; // 2  
cout <<(*++p) //2  

注意:上面的每条cout输出,要单独输出才能得到后面的结果。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档