20050527-1.c

来自「用于进行gcc测试」· C语言 代码 · 共 56 行

C
56
字号
/* PR c/21536 *//* { dg-do run } *//* { dg-options "-O2 -Wuninitialized" } */typedef __SIZE_TYPE__ size_t;extern void *malloc (size_t);extern void free (void *);void *foo (int x, int y){  void *d = malloc (x * y * sizeof (double));  double (*e)[x][y] = d;  x += 10;  y += 10;  if (x > 18)    (*e)[x - 12][y - 12] = 0.0;  else    (*e)[x - 11][y - 11] = 1.0;  return d;}void *bar (int x, int y){  void *d = malloc (x * y * sizeof (double));  struct S    {      double (*e)[x][y];      double (*f)[x][y];    } s;  s.e = d;  s.f = d;  x += 10;  y += 10;  if (x > 18)    (*s.e)[x - 12][y - 12] = 0.0;  else    (*s.e)[x - 11][y - 11] = 1.0;  if (x > 16)    (*s.f)[x - 13][y - 13] = 0.0;  else    (*s.f)[x - 14][y - 14] = 1.0;  return d;}intmain (){  void *d1 = foo (10, 10);  void *d2 = bar (10, 10);  free (d1);  free (d2);  return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?