C语言中*p*2表达式中两个*优先级区别
时间: 2024-06-25 20:00:54 浏览: 172
C语言中逗号表达式
在C语言中,`*` 运算符用于解引用指针,而 `*p * 2` 表达式中的两个 `*` 需要注意运算的顺序和优先级。在C标准中,乘法 `*` 操作符的优先级通常高于指针解引用。这意味着,`*p` 先被计算为指针所指向的值,然后再将这个值乘以2。
具体来说,解析过程如下:
1. `*p` 解引用指针p,得到指针所指向的变量的值。
2. 将这个值乘以2。
所以,表达式 `*p * 2` 实际上是先获取p指向的地址存储的内容,然后将其结果扩大两倍。如果有多层指针嵌套,如 `*(p+1) * 2`,那么会先解引用 `p+1`,得到下一个地址的值,再进行乘法操作。
阅读全文