左值和右值

来源:互联网 发布:2016淘宝不能邮箱注册 编辑:程序博客网 时间:2024/04/30 01:02

左值:能够出现在赋值符号左边的东西。

他表示一个特定的位置,即左值表示一块地址。

所以像:++i=10,i++=10, a+10=10....都是错误的。因为赋值号左边的东西不能表示一块地址。

arr[10]=10,因为arr[10]通过下标访问一块地址,所以他是正确的。

int a,b,*p;

p=&a;

*p=10;  指针p存储的是a的地址,当使用*p时,表示的是a的位置。

右值:能够出现在赋值符号右边的东西,表示一个数值。

当*p放到赋值号右边时表示的是p所指向空间的值。

所以 *p既可以当左值,也可以当右值。


0 0