c语言 *p++与(*p)++、*(p++)三者异同?

c语言*p++与(*p)++、*(p++)三者异同?请举例说明... c语言 *p++与(*p)++、*(p++)三者异同?
请举例说明
展开
 我来答
xiaoquguang
2018-06-01
知道答主
回答量:24
采纳率:100%
帮助的人:5万
展开全部
首先这个是一个优先级的问题,++的优先级高于*优先级 所以*P++ 可以写成*(P++)
再者P++与++P的区别是一个是先引用在自增,一个是先自增在引用
*是表示取指向地址内的数据
所以该问题的可以这么理解 *p++是取该地址内的数据后地址+1,*++p是地址先+1在取数据取到的数据是地址增加后的地址内的数据,(*p)++则表示取到数据后应用数据以后数据自增
如:int a[2]={55,66} ,*p , c; p=a; c = *p++ ; 此时的c的值是55;
int a[2]={55,66} ,*p , c; p=a; c = *++p ;此时的c的值是66;
int a[2]={55,66} ,*p , c ,d; p=a; c = (*p)++ ;d =*p; 此时的c的值是55,此时的d的值是56;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝天碧水影视
2019-07-28 · TA获得超过305个赞
知道答主
回答量:892
采纳率:36%
帮助的人:75万
展开全部
p
lljyh
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式