赋值操作将右侧操作数的值分配给左侧操作数命名的存储位置。 因此,赋值操作的左侧操作数必须是一个可修改的左值。 在赋值后,赋值表达式具有左操作数的值,但不是左值。
语法
assignment-expression:
conditional-expressionunary-expression assignment-operator assignment-expression
assignment-operator: one of
= *= /= %= += –= <<= >>= &= ^= |=
C 中的赋值运算符可以在单个操作中转换值和赋值。 C 提供了以下赋值运算符:
运算符 |
执行的操作 |
---|---|
= |
简单赋值 |
*= |
乘法赋值 |
/= |
除法赋值 |
%= |
余数赋值 |
+= |
加法赋值 |
–= |
减法赋值 |
<<= |
左移赋值 |
>>= |
右移赋值 |
&= |
按位“与”赋值 |
^= |
按位“异或”赋值 |
|= |
按位“与或”赋值 |
在赋值中,右侧值的类型将转换为左侧值的类型,在完成赋值后,该值将存储在左操作数中。 左操作数不得为数组、函数或常量。 类型转换中详细介绍了依赖两个类型的特定转换路径。