对象是一个名字,一个标识符,标识了一段连续的内存
之所以要对两个概念有区别,是为了统一C语言的语法解释,方便记忆理解赋值语句的含义
赋值语句的语法解释
int a = 1
其实是告诉编译器,为我开辟一段连续的内存,并且为这段内存命名为a
,为这段内存初始化为1,在等号左边中,a
表示以a
命名的那段地址的值,在等号右边a
表示它本身,即那段以a
命名的内存,例如:
a = 2
表示将2放到以a
命名的内存当中,a
在此作为左值表达式,而
a = a + 2
表示将a
所表示的那段连续地址的值加上2,放到以a
命名的连续地址中去,左边的a
和右边的a
有不同的含义,这就是区分对象和值的意义。