C语言中的对象、左值、右值、序列点、副作用的概念
对象
赋值表达式的目的就是把数据存储到内存位置上,用于存储值的数据区域统称数据对象
左值
左值是C语言中的术语,用于标识特定数据对象的名字。因此,对象指的是实际的数据存储,而左值是用于标识或定位存储位置的标签。
右值
右值指的是能够赋值给可修改左值(没有被const修饰的左值)的量,且本身不是左值。如int num = 5;
num是可修改左值,5是右值。
sizeof以字节为单位返回对象的大小,它的返回类型是size_t这是一个无符号整型数,用size_t时,编译器会根据不同系统来替换具体的整型类型。
副作用
副作用也是一个C语言的术语,它是指对数据对象或文件的修改。
如int state = 333;
副作用就是将变量置为333 。
序列点
序列点是程序的执行点,在C语言中,语句中的分号标记一个序列点,在该点上,所有副作用都在进入下一步之前发生,即在一个语句中的赋值运算、递增运算、递减运算对运算对象的修改必须在程序执行下一条语句之前完成。