杂记之C语言之左值和右值
2012-12-17 21:01
260 查看
C/C++语言中可以放在赋值符号左边的变量,即具有对应的可以由
用户访问的存储单元,并且能够由用户去改变其值的量。左值表
示存储在计算机内存的对象,而不是常量或计算的结果。或者说左
值是代表一个内存地址值,并且通过这个内存地址,就可以对内存
进行读并且写(主要是能写)操作;这也就是为什么左值可以被赋
值的原因了。相对应的还有右值:当一个符号或者常量放在操作符
右边的时候,计算机就读取他们的“右值”,也就是其代表的真实
值。简单来说就是,左值相当于地址值,右值相当于数据值。
比如: int ia,ib;ib=0;
ia=ib;
在这里,首先定义ia,ib。然后对ib赋值,此时计算机取ib的左值,也就是
这个符号代表的内存位置即内存地址值,计算机取0的右值,也就是数值0;然
后给ia赋值为ib,此时取ib的右值给ia的左值;
所以说,ib的左值、右值是根据他的位置来说的;
相关文章推荐
- 说说C语言与C++的有些区别(一)----为什么C语言没有BOOL类型,而C++有;枚举类型的区别;左值
- 杂记之C语言之指针(一)
- 杂记之C语言之循环语句的效率
- c语言中出现左操作数必须是左值(摘抄)
- *a++的含义及C语言中的左值(Lvalues)和右值(Rvalues)
- 【C语言】左值与右值
- 杂记之C语言之结构(四)
- C语言杂记1
- C语言数据类型杂记
- C语言笔记杂记
- 杂记之C语言实现复制函数strcpy和strcnpy
- 杂记之C语言之结构(五)
- C语言----杂记
- C语言杂记1
- C语言判断分支循环函数杂记
- 杂记之C语言之域宽和精度(更新中)
- C语言中 ++ 和 * 的优先级和右值与左值的优先级和结合性
- 杂记之C语言之const常量在C++中的表现
- 学习杂记(一)c语言
- C语言中的左值右值