r 值和 l 值之间的差异
Difference between r value and l value
"r- value" 是在赋值运算符的右边,"l- value" 是在赋值运算符的左边,还是更多
l-value
指的是标识一个对象的内存位置。左值可能出现在赋值运算符 (=) 的左侧或右侧。左值通常表示为标识符。
引用可修改位置的表达式称为“可修改左值”。可修改的左值不能具有数组类型、不完整类型或具有 const 属性的类型。对于要成为可修改左值的结构和联合,它们不得具有任何具有 const 属性的成员。标识符的名称表示存储位置,而变量的值是存储在该位置的值。
如果标识符引用内存位置并且其类型是算术、结构、联合或指针,则它是可修改的左值。例如,如果 ptr 是指向存储区域的指针,那么 *ptr 是一个可修改的左值,它指定 ptr 指向的存储区域。
r-value
指的是存储在内存中某个地址的数据值。右值是一个不能赋值的表达式,这意味着右值可以出现在赋值运算符 (=) 的右侧,但不能出现在左侧。
https://www.geeksforgeeks.org/lvalue-and-rvalue-in-c-language/
"r- value" 是在赋值运算符的右边,"l- value" 是在赋值运算符的左边,还是更多
l-value
指的是标识一个对象的内存位置。左值可能出现在赋值运算符 (=) 的左侧或右侧。左值通常表示为标识符。
引用可修改位置的表达式称为“可修改左值”。可修改的左值不能具有数组类型、不完整类型或具有 const 属性的类型。对于要成为可修改左值的结构和联合,它们不得具有任何具有 const 属性的成员。标识符的名称表示存储位置,而变量的值是存储在该位置的值。
如果标识符引用内存位置并且其类型是算术、结构、联合或指针,则它是可修改的左值。例如,如果 ptr 是指向存储区域的指针,那么 *ptr 是一个可修改的左值,它指定 ptr 指向的存储区域。
r-value
指的是存储在内存中某个地址的数据值。右值是一个不能赋值的表达式,这意味着右值可以出现在赋值运算符 (=) 的右侧,但不能出现在左侧。
https://www.geeksforgeeks.org/lvalue-and-rvalue-in-c-language/