summaryrefslogtreecommitdiff
path: root/3/9_data_structures/45_rec.c
blob: f04ac0ec49ec9a94ebf00f784ec3b649ee79d18e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
struct {
    char *a;
    short b;
    double c;
    char d;
    float e;
    char f;
    long g;
    int h;
} rec;
// A.
//      |char* 8|short 2|gap 6|double 8|char 1|float 4|char 1|gap 2|long 8|int 4|gap 4|
//      |-------|-------------|--------|---------------------------|------|-----------|
//          8           8          8                  8                8        8
//
//      a 0
//      b 8
//      c 16
//      d 24
//      e 25
//      f 29
//      g 32
//      h 40
//
// B.
//      48
//
// C.
//      |char* 8|short 2|char 1|float 4|char 1|double 8|long 8|int 4|gap 4|
//      |-------|-----------------------------|--------|------|-----------|
//          8                  8                  8        8        8
//
//      a 0
//      b 8
//      c 16
//      d 10
//      e 11
//      f 15
//      g 24
//      h 32
//
//      total 40