20011113-1.c

来自「this is a gcc file, you can download it 」· C语言 代码 · 共 56 行

C
56
字号
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 + =
减小字号Ctrl + -
显示快捷键?