鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[扩展阅读] 什么是 lvalue,什么是 rvalue?

    [复制链接]
发表于 2018-5-6 16:24:34 | 显示全部楼层
差一点就懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-7-9 22:15:36 | 显示全部楼层
先看看 有点坑居然要10个鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-8-2 15:30:58 From FishC Mobile | 显示全部楼层
还可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-8 13:06:42 | 显示全部楼层
鱼哥,出现左值错误,是因为把常量当作变量用了么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-9-5 07:15:01 | 显示全部楼层
没看懂的,我瞎yy一下


#include <stdio.h>

int main()
{
        int a = 5;

        a++;
        ++a;

        return 0;
}


对应的汇编代码如下

        .file   "hello.c"
        .text
        .globl  main
        .type   main, @function
main:
.LFB0:
        .cfi_startproc
        pushq   %rbp
        .cfi_def_cfa_offset 16
        .cfi_offset 6, -16
        movq    %rsp, %rbp
        .cfi_def_cfa_register 6
        //将5赋值给a
        movl    $5, -4(%rbp)
        //对a增加1
        addl    $1, -4(%rbp)
        对a增加1
        addl    $1, -4(%rbp)

        movl    $0, %eax

        popq    %rbp
        .cfi_def_cfa 7, 8
        ret
        .cfi_endproc
.LFE0:
        .size   main, .-main
        .ident  "GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609"
        .section        .note.GNU-stack,"",@progbits

在指令层,其实是可以做到的++(a++)的,只不过是编译器不允许这样做,a++=6=5+1,则没有错,但是++a就会变成++6等价于6=6+1,显然6在指令层可能不是一个内存地址,而是一个常数,所以赋值不上去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-10-5 12:06:00 From FishC Mobile | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-7 16:45:21 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-8 16:17:52 | 显示全部楼层
长见识了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-10 20:52:18 | 显示全部楼层
好棒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-11-14 17:58:42 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-11-20 09:26:12 | 显示全部楼层
好文章
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-21 14:05:10 | 显示全部楼层
算式的运算没看懂:a = 5; ++a++ 等于 ++(a++),也就是++ (5+1) 等于 ++ 6,也就是7吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-11-21 14:22:49 | 显示全部楼层
刚刚看了变量名++的解释,更正:++ (a++)相当于++(4+1) ,a为自增后的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-12 18:14:44 | 显示全部楼层
表示没看懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-1-12 12:05:15 | 显示全部楼层
有收获
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-2 02:51:02 | 显示全部楼层
麻烦能出一个视频讲解一下 这篇文章里面的知识吗???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-2-24 11:59:50 | 显示全部楼层
mark
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-23 20:41:02 | 显示全部楼层
懵懵懂懂的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-23 20:42:41 | 显示全部楼层
独我雅想 发表于 2017-8-12 19:04
感觉每次小甲鱼出的机试题目我都不会写

同感,我还以为只有我一个不会

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-4-30 09:33:21 | 显示全部楼层
更清晰了一点 ,牛*
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 15:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表