C和C++中左值和右值得区别以及++前置和后置的区别
来源:互联网 发布:xp 数据执行保护 编辑:程序博客网 时间:2024/06/12 07:08
左值是可以出现在表达式左边的值,可以被改变,是存储数据值的那块内存的地址,也可以称为变量的地址;
右值是指存储在某内存地址中的数据,也称为变量的数据。左值可以作为右值,但右值不能作为左值。
int a=6;
a++ 表示取a的地址,把它的值装入寄存器,然后增加内存中a的值;
++a 表示取a地址,增加它的内容,然后把值放在寄存器中。
int main(int argc, char* argv[])
{
int a = 6;
printf("%d\n",a++);//输出为6,返回的是寄存器的值,而不是加后的值
printf("%d\n",a);//输出为7,
printf("%d\n",++a);//输出为8;
return 0;
}
a++ =7 和++a =7这两种写法,第一种是错误的,a++运算的结果并不是a变量的引用,而是一个临时变量,其值为a的值,属于右值不能为左值。
++a则可以,因为a的值是可变的。
1 0
- C和C++中左值和右值得区别以及++前置和后置的区别
- [C++] 前置++和后置++的区别
- 前置++ 和后置++的区别(C++ 为什么不叫++C)
- C语言中前置++和后置++的区别
- C语言中的前置++和后置++的区别
- 前置++和后置++的区别
- ++前置和后置的区别
- 前置++和后置++的区别
- 前置++和后置++的区别
- 前置++和后置++的区别
- 编写复数类以及++前置和后置的区别
- 浅谈前置++和后置++的区别
- C++中前置++和后置++的区别
- (转)前置++和后置++的区别
- 前置递增和后置递增的区别
- 《More Effective C++》6:区别递加和递减符号的前置和后置形式
- C/C++中自增自减的前置和后置区别
- 重载操作符++,区别前置和后置
- 树状数组应用之——区间修改 点查询
- hdu3449 有依赖的背包问题
- Reverse word in a string [leetcode]
- java基础之IO流中的PipedStream管道流和RandomAcessFile
- java的反射机制
- C和C++中左值和右值得区别以及++前置和后置的区别
- Z-score模型
- 吝啬的国度
- 对刚发布的MS windows X的一点看法,这不是评测!
- 数据结构9-关于折半查找的实例
- cocos2dx中Opacity属性及相关操作(1)
- Haskell 开发环境搭建
- 简单记录一下
- Diary 10.1.2014