heap-scalestress.c
来自「linux下编程用 编译软件」· C语言 代码 · 共 80 行
C
80 行
/* zz30 * * demonstrate a splay-tree depth problem*/#include <stdlib.h>#include <stdio.h>#include <unistd.h>#ifndef SCALE#define SCALE 100000#endifstruct list{ struct list *next;};intmain (){ struct list *head = NULL; struct list *tail = NULL; struct list *p; long n; int direction; for (direction = 0; direction < 2; direction++) { fprintf (stdout, "allocating\n"); fflush (stdout); for (n = 0; n < SCALE; ++n) { p = malloc (sizeof *p); if (NULL == p) { fprintf (stdout, "malloc failed\n"); break; } if (direction == 0) { /* add at tail */ p->next = NULL; if (NULL != tail) tail->next = p; else head = p; tail = p; } else { /* add at head */ p->next = head; if (NULL == tail) tail = p; head = p; } } fprintf (stdout, "freeing\n"); fflush (stdout); while (NULL != head) { p = head; head = head->next; free (p); } } fprintf (stdout, "done\n"); fflush (stdout); return (0);}/* { dg-output "allocating.*freeing.*allocating.*freeing.*done" } */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?