区别大了。
*p++
先返回指针p所指向的内容,然后将p指向下一个同类型变量的位置,这种用法一般用在数组里面(字符串也可以理解成数组),也就相当于指向数组中下一个元素。
*(p++)先将p指向下一个元素,然后再返回所指向元素的值。
没有区别,这个问题涉及到运算符的优先级
其中++运算符的优先级高于*取值运算符,所以无论加不加括号都是一个效果
先地址自增1,然后再*取值
*p++:返回p指向的数值,然后指向下一个数值
p++:返回p指针,然后指向下一个数据
没有什么区别,本来++的优先级就比*高,*p++就表示
*(p++);
这个就相当于
*p;p++;两句的综合,先使用p指向的地址上存储的值,然后p指向下一个地址。
一样的,++优先级比*高 ,所以先实行p++,再*p