K& R表示数组名称不是变量,不能用于a=pa
或a++
等结构中。
那么什么是数组名称?常数?
答案 0 :(得分:4)
数组不是可赋值的左值,这意味着它不能出现在赋值的左侧或以其他方式被修改。但是,数组元素是可分配的左值。
编辑:
左值有一个地址,可以在多个地方引用。因此const int foo = 12;
之类的东西仍然是左值,但不是可修改的值。
相反,诸如7或“hello”之类的常量是rvalue,这意味着它不能在该表达式之外引用。 a + b
或a + 1
等表达式也是右值。