&与-> 哪个优先级高?

为什么&ptr->a等于&(ptr->a)而不是等于(&ptr)->a?&的优先级不是比->高吗?

->为1级
&为2级
->级别高

优先级 运算符 名称或含义 使用形式 结合方向 说明
1 [] 数组下标 数组名[常量表达式] 左到右
() 圆括号 (表达式)/函数名(形参表)
. 成员选择(对象) 对象.成员名
-> 成员选择(指针) 对象指针->成员名
2 - 负号运算符 -表达式 右到左 单目运算符
(类型) 强制类型转换 (数据类型)表达式
++ 自增运算符 ++变量名/变量名++ 单目运算符
-- 自减运算符 --变量名/变量名-- 单目运算符
* 取值运算符 *指针变量 单目运算符
& 取地址运算符 &变量名 单目运算符
! 逻辑非运算符 !表达式 单目运算符
~ 按位取反运算符 ~表达式 单目运算符
sizeof 长度运算符 sizeof(表达式)
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-17
lz你记错了吧,->的优先级是相当高的,跟括号差不多的。本回答被提问者采纳

&与-> 哪个优先级高?
->为1级 &为2级 ->级别高 优先级运算符名称或含义使用形式结合方向说明 1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)\/函数名(形参表).成员选择(对象)对象.成员名 ->成员选择(指针)对象指针->成员名 2-负号运算符-表达式右到左单目运算符 (类型)强制类型转换(数据类型)表达式 ...

C语言->和&哪个优先级高
->的运算高于&, 取的是成员left的地址

求C 中的类型优先级顺序
C语言中的类型优先级顺序如下:1. 成员访问操作符(. 和 ->)和数组下标操作符([])在左结合性下,优先级高于其他操作符。2. 前缀操作符(++,--,~,!,-,&,*,sizeof,new,delete,castname_cast)在右结合性下,优先级最高。3. 单目操作符(*,&)在左结合性下,优先级次之。4....

c++中&和|的优先级别是怎样的呢?
优先级【高到低】:第一级:圆括号【()】、下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】第二级:逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++ --】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*和&...

优先级最高的运算符排序
分为优先级15级:1、圆括号【()】、下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】。2、逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++】【 --】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*】【&】...

c语言运算符优先级顺序表
C语言中,运算符的优先级可以分为不同级别,具体优先级顺序如下:最高优先级:单目运算符(如取反、乘方等)、赋值运算符(=、+=、-=、*=等)、逻辑非运算符(!)、关系运算符(<、<=、>、>=等)、相等运算符(==、!=等)、按位与运算符(&)、按位异或运算符(^)、按位或运算符(|...

&& 和 || 优先级 哪个高
&&的优先级大于||的优先级。比如Y=A*B+C, 先算A乘以B再去加C。

运算符的优先级是如何划分的?
括号 ():具有最高优先级,可以优先执行。算术运算符:+、-、*、\/、%、++、--。这些运算符具有相对较高的优先级,它们通常在括号内运算完成后再执行。身份运算符:!(逻辑非)、~(按位取反)、&(按位与)、|(按位或)、^(异或)。这些运算符的优先级高于算术运算符,但低于括号。比较运算...

逻辑运算符号&&、||、!的相对优先级是什么?
其中 1级优先级最高,15级最低,1级优先级 左结合 () 圆括号 [] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符 2级优先级 右结合 ! 逻辑非运算符 ~ 按位取反运算符 ++ 自增运算符 -- 自减运算符 - 负号运算符 (类型) 类型转换运算符 指针运算符 & 地址与运算符 sizeof ...

C++中各类运算符的优先级
首先,括号([]())的运算优先级最高,它们用于界定和改变运算的范围,然后是成员运算符(.和->),用于访问对象的属性和方法。其次,单目运算符(++、--、+\/-、指针运算*、&)占据第二位,它们用于修改变量值或获取指针地址。接下来是乘法、除法和取余运算(*、\/、%),它们的优先级高于加法和...

相似回答