c语言的指针应用

来源:百度知道 编辑:UC知道 时间:2024/05/31 21:24:56
*p++ 先取*p的值,然后对p进行自加,p指向下一个存储单元。
请问为什么++是在地址上加1,而不是在数值上加1,*p不是取了数值了吗?++应该是数值加,而不是地址加1?
而(*p)++为什么是取*p然后在数值上加1

c语言中的运算符优先级
++是要高于*(间接存取)
所以在没有()的前提下 先算++ 后算*
()的优先级是最高的,所以有()的话,就会先计算括号内的,之后在计算++

自加的操作优先权高。

您好,这是由运算符优先级决定的,也就是*和++哪个优先级高先进行哪个。所以,要养成好的编程习惯,对于不确定的优先级符合运算加上括号。

这个是运算符优先序导致的.
*(指针所指内容)的优先级要高于++

明白了吧