知识点:
任何一个变量/表达式都有 2 个属性:
类型属性
值属性(值属性指的是表达式的具体值,而不是一个独立的属性概念)
比如:
int a = 1;
让 a + 0.14,0.14 是 double 类型的(默认),a 是整型,int 算术转换成 double 类型的值
a + 0.14 这个表达式:
值属性:1.14
类型属性:double
与本文无关但易错知识:
上文中,a + 0.14这个表达式,int 加上 double 算术转换了,但如果是赋值就不会
如:
这里,sum 是整型,i 是 double 类型,但是最后的 sum 还是整型
因为在这里 i + sum 之后,又放进了 int 类型的 sum 之中
(好比把 2 米的棍子放进 1 米的空间,截断都要塞进去)
int a = 1;
a 的值属性:1
类型属性:int
&a 的类型属性:int*
值属性:a 的那个真实的地址