12个回答
展开全部
首先这个是一个优先级的问题,++的优先级高于*优先级 所以*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;
再者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;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
p
lljyh
lljyh
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |