C语言中左值和右值有何详细区别?

2026-04-29 14:323阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计857个文字,预计阅读时间需要4分钟。

C语言中左值和右值有何详细区别?

左值是用于指明一个对象的表达式。最简单的左值就是变量名称。左值(lvalue)之所以称为左值(L,代表left),是因为一个左值代表一个对象,它可以出现在赋值运算符的左侧。因为一个左值表示一个对象,所以它可以在赋值运算符中出现。

C语言中左值和右值有何详细区别?

左值是用来指明一个对象的表达式。最简单的左值就是变量名称。左值(lvalue)之所以称为“左”(以首字母为 L,代表 left),是因为一个左值表示一个对象,它可以出现在赋值运算符(assignment operator)的左边,例如“左表达式=右表达式”。

其他表达式(那些表示一个值但不指明一个对象的),被类似地称为右值(rvalue)。右值是可以出现在赋值运算符右边而不是左边的表达式。例如,常量和算术表达式。

从一个左值中必定可以解析出对应对象的地址,除非该对象是位字段(bit-field)或者被声明为寄存器存储类。生成左值的运算符包括下标运算符(subscript operator)[]和间接运算符(indirection operator)*,如下表所示(如果 array 已被声明为数组,而 ptr 被声明为指针变量)。
阅读全文

本文共计857个文字,预计阅读时间需要4分钟。

C语言中左值和右值有何详细区别?

左值是用于指明一个对象的表达式。最简单的左值就是变量名称。左值(lvalue)之所以称为左值(L,代表left),是因为一个左值代表一个对象,它可以出现在赋值运算符的左侧。因为一个左值表示一个对象,所以它可以在赋值运算符中出现。

C语言中左值和右值有何详细区别?

左值是用来指明一个对象的表达式。最简单的左值就是变量名称。左值(lvalue)之所以称为“左”(以首字母为 L,代表 left),是因为一个左值表示一个对象,它可以出现在赋值运算符(assignment operator)的左边,例如“左表达式=右表达式”。

其他表达式(那些表示一个值但不指明一个对象的),被类似地称为右值(rvalue)。右值是可以出现在赋值运算符右边而不是左边的表达式。例如,常量和算术表达式。

从一个左值中必定可以解析出对应对象的地址,除非该对象是位字段(bit-field)或者被声明为寄存器存储类。生成左值的运算符包括下标运算符(subscript operator)[]和间接运算符(indirection operator)*,如下表所示(如果 array 已被声明为数组,而 ptr 被声明为指针变量)。
阅读全文