C 中的左值(Lvalues)和右值(Rvalues)

C 中有两种类型的表达式:

  1. 左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。
  2. 右值(rvalue):术语右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。

变量是左值,因此可以出现在赋值号的左边。数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。下面是一个有效的语句:

int g = 20;

但是下面这个就不是一个有效的语句,会生成编译时错误:

10 = 20;

转载于:https://www.cnblogs.com/tkid/p/6733940.html

C 中的左值(Lvalues)和右值(Rvalues)相关推荐

  1. c 表达式必须是可修改的左值_C++中的左值,右值,左值引用,右值引用

    童帅 2020-2-22 文中的"表达式"都是指赋值表达式 左值,右值,左值引用,右值引用 到底是什么 左值和右值 int a = 10; int b = 5; int c = a ...

  2. [c++]-c++中的左值和右值、左值引用和右值引用、万能引用和引用折叠及完美转发

    1.左值和右值 1.1左值和右值定义 在c++中,左值是一个指向内存的东西,换句话来讲,左值有地址,保存在内存中,右值则为不指向任何地方东西,即不在内存中占有确定位置.一般来说,右值是暂时和短暂的,而 ...

  3. c语言中字符串关于左值,关于左值lvalue和右值rvalue的一点理解

    发现很多朋友对"lvalue"和"rvalue"理解有误,我先谈谈自己对此的一些理解,并期望能够引起更多朋友的广泛讨论.也算起到抛砖引玉的作用吧.引用:注:这里 ...

  4. C++/C++11中左值、左值引用、右值、右值引用的使用

    C++的表达式要不然是右值(rvalue),要不然就是左值(lvalue).这两个名词是从C语言继承过来的,原本是为了帮助记忆:左值可以位于赋值语句的左侧,右值则不能. 在C++语言中,二者的区别就没 ...

  5. 的引用_左值、右值、左值引用、右值引用

    [导读]:本文主要详细介绍了左值.右值.左值引用.右值引用以及move.完美转发. 左值和右值 左值(left-values),缩写:lvalues 右值(right-values),缩写:rvalu ...

  6. C++面试 左值、右值、左值引用、右值引用

    1.左值和右值 左值(left-values),缩写:lvalues  ,located value 可定位值,其含义是可以明确其存放地址的值,更确切说对其的使用是基于地址 右值(right-valu ...

  7. C++ 11 左值,右值,左值引用,右值引用,std::move, std::foward

    这篇文章要介绍的内容和标题一致,关于C++ 11中的这几个特性网上介绍的文章很多,看了一些之后想把几个比较关键的点总结记录一下,文章比较长.给出了很多代码示例,都是编译运行测试过的,希望能用这些帮助理 ...

  8. c语言 变量的左值和右值,C++雾中风景10:聊聊左值,纯右值与将亡值

    C++11的版本在类型系统上下了很大的功夫,添加了诸如auto,decltype,move等新的关键词来简化代码的编写与降低阅读代码的难度.为了更好的理解这些新的语义,笔者确定通过几篇文章来简单窥探一 ...

  9. C/C++编程:std::move(将左值强制转换为右值)

    正文 C++11标准中借助右值引用可以为指定类添加移动构造函数,这样当使用给类的右值对象(可以理解为临时对象)初始化同类对象时,编译器会优先选择移动构造函数 注意,移动构造函数的调用时机是:用同类的右 ...

  10. 【C++11】左值引用和右值引用

    目录 一.新的类功能 1.新的默认成员函数 2.类成员变量初始化 3.强制生成默认函数的关键字default 4.禁止生成默认函数的关键字delete 二.左值和右值 1.左值和左值引用 2.右值和右 ...

最新文章

  1. kcachegrind安装
  2. NLP专栏|图解 BERT 预训练模型!
  3. 五、“或许平凡与伟大,才是我们最美的样子。”
  4. 微信小程序PHP文件建在哪里,微信小程序解析H5文件方法
  5. 直线电机原理动画_每周一品 · 直线电机(Linear Motor)中的磁性材料
  6. linux 删除mysql_MySQL— Linux下解压包方式安装
  7. 【汇编语言】结合C语言,使用VS 2017调试模式下的反汇编工具学习32位x86汇编指令
  8. curd日志记录php,ThinkPHP学习之CURD操作(一)
  9. springboot后台怎么获取前端传过来的excel_基于SpringBoot的全自动办公系统源码文档全部免费分享...
  10. 机器学习之集成学习概述
  11. radius peap mysql_基于Linux Ubuntu的RADIUS服务器搭建
  12. ubuntu安装无线网卡驱动(Ralink)
  13. 单细胞转录组测序数据的可变剪接(alternative splicing)分析方法总结
  14. 华硕飞行堡垒笔记本电脑驱动程序不能使用如何解决
  15. Echarts 实现树状图的展示与编辑示例
  16. python 实例二:搬家具
  17. Windows 11 新功能 Microsoft Teams
  18. 淘宝、拼多多、京东等购物平台的优惠券公众号免费搭建持续更新
  19. 2022年要怎么把PayPal里的美元提到国内?
  20. 机器学习集成学习与模型融合

热门文章

  1. python退出程序 只跳出while_为什么我的简单程序从不退出while循环?
  2. java基础总结06-常用api类-api概述及jdk常用分类
  3. SpringBoot4.5.2 整合HikariCP 数据库连接池
  4. mac 系统下 刻录centos 系统到 U盘中
  5. python中文列名报错__mssql.MSSQLDatabaseException:(207,b“无效列名'Hello'。DBLib错误消息20018...
  6. 阶段3 3.SpringMVC·_04.SpringMVC返回值类型及响应数据类型_1 搭建环境
  7. Reactive Extensions 初识
  8. 阶段3 1.Mybatis_08.动态SQL_02.mybatis中动态sql语句-where标签的使用
  9. SQL Where 字符串拼接
  10. Java中上转型对象数组