![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
在C语言中*p++和p++有什么区别呢
10个回答
展开全部
区别大了。
*p++
先返回指针p所指向的内容,然后将p指向下一个同类型变量的位置,这种用法一般用在数组里面(字符串也可以理解成数组),也就相当于指向数组中下一个元素。
*(p++)先将p指向下一个元素,然后再返回所指向元素的值。
*p++
先返回指针p所指向的内容,然后将p指向下一个同类型变量的位置,这种用法一般用在数组里面(字符串也可以理解成数组),也就相当于指向数组中下一个元素。
*(p++)先将p指向下一个元素,然后再返回所指向元素的值。
展开全部
没有区别,这个问题涉及到运算符的优先级
其中++运算符的优先级高于*取值运算符,所以无论加不加括号都是一个效果
先地址自增1,然后再*取值
其中++运算符的优先级高于*取值运算符,所以无论加不加括号都是一个效果
先地址自增1,然后再*取值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
*p++:返回p指向的数值,然后指向下一个数值
p++:返回p指针,然后指向下一个数据
p++:返回p指针,然后指向下一个数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没有什么区别,本来++的优先级就比*高,*p++就表示
*(p++);
这个就相当于
*p;p++;两句的综合,先使用p指向的地址上存储的值,然后p指向下一个地址。
*(p++);
这个就相当于
*p;p++;两句的综合,先使用p指向的地址上存储的值,然后p指向下一个地址。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一样的,++优先级比*高 ,所以先实行p++,再*p
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询