📄 20011113-1.c
字号:
typedef __SIZE_TYPE__ size_t;extern void *memcpy (void *__restrict, const void *__restrict, size_t);extern void abort (void);extern void exit (int);typedef struct t{ unsigned a : 16; unsigned b : 8; unsigned c : 8; long d[4];} *T;typedef struct { long r[3];} U;T bar (U, unsigned int);T foo (T x){ U d, u; memcpy (&u, &x->d[1], sizeof u); d = u; return bar (d, x->b);}T baz (T x){ U d, u; d.r[0] = 0x123456789; d.r[1] = 0xfedcba987; d.r[2] = 0xabcdef123; memcpy (&u, &x->d[1], sizeof u); d = u; return bar (d, x->b);}T bar (U d, unsigned int m){ if (d.r[0] != 21 || d.r[1] != 22 || d.r[2] != 23) abort (); return 0;}struct t t = { 26, 0, 0, { 0, 21, 22, 23 }};int main (void){ baz (&t); foo (&t); exit (0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -