c语言学习_part01_c_primer_plus_chapter05_运算符表达式语句
1. 基本运算符
1.1 术语
-
=,赋值运算符,左边为一个存储位置,右边为一个右值
-
数据对象:data object,用于存储值的存储区域
-
左值:标识特定数据对象的名称或表达式,标识或定位存储位置的标签
-
早期左值定义:1. 指定一个对象,引用内存中地址,2. 可用在赋值运算符左侧
-
const限定符,满足第一项,但是不满足第二项。因此有些左值可以放在赋值运算符左侧,有的不可以
-
为此,增加了新术语,可修改左值(aka对象定位置),用于标识可修改的对象,可以放在赋值运算符左侧的对象
-
-
右值:赋值给可修改左值的量,本身不是左值,可以是常量,变量,或其他可求值的表达式,函数调用
2. 其他运算符
-
sizeof运算符和size_t类型
sizeof:以字节为单位返回运算对象的大小,一个字节定义为char类型占用的空间大小,通常为8位,有的字符集可能更大
运算对象可以是具体的数据对象,变量名或类型
size_t:sizeof返回size_t类型值,是无符号整数类型
-
%求模运算符
-
++自增,--自减运算符
前缀模式:++i
后缀模式:i++
自增自减运算符优先级仅低于括号
只能影响一个可修改左值,因此(x+y)++无效