CS:APP 第三章部分作业解答

第 3 章 程序的机器级表示

3.64

  1. &A[i][j][k]=xA+L(iST+jT+k)\verb|&A[i][j][k]|=x_A+L(i\cdot S\cdot T+j\cdot T+k)
  2. R=7,S=5,T=13R=7,S=5,T=13

3.68

由汇编第 2 行可知,A(4,8]A\in(4,8];由第 3 行可知,B(6,10]B\in(6,10];由第 4 行可知,AB(44,46]A\cdot B\in(44,46]。因此,A=5,B=9A=5,B=9

3.69

  1. 由汇编第 4 至 6 行可知,a_struct\verb|a_struct| 大小为 40 字。再结合第 1 行可知 CNT=7CNT=7
  2. 由汇编第 6 至 8 行可知,idx\verb|idx|x\verb|x| 之前,类型均为 long\verb|long|(或 long\verb|long| 数组)。结合 a_struct\verb|a_struct| 大小为 40 字,得到其声明如下:
    1
    2
    3
    4
    typedef struct {
    long idx;
    long x[4];
    } a_struct;

3.70

  1. 字段 偏移量
    e1.p\verb|e1.p| 0
    e1.y\verb|e1.y| 8
    e2.x\verb|e2.x| 0
    e2.next\verb|e2.next| 8
  2. 2 个
  3. 1
    2
    3
    void proc (union ele *up) {
    up->e2.x = *(up->e2.next->e1.p) - (up->e2.next->e1.y);
    }

CS:APP 第三章部分作业解答

https://gzezfisher.top/csapp-c3-hw/

作者

Fisher Cai

发布于

2025-07-31

更新于

2025-08-03

许可协议

评论

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×