collectn.c
来自「开源的nasm编译器源码,研究编译器原理很有帮且」· C语言 代码 · 共 41 行
C
41 行
/* collectn.c Implements variable length pointer arrays [collections] * * This file is public domain. */#include "collectn.h"#include <stdlib.h>void collection_init(Collection * c){ int i; for (i = 0; i < 32; i++) c->p[i] = NULL; c->next = NULL;}void ** colln(Collection * c, int index){ while (index >= 32) { index -= 32; if (c->next == NULL) { c->next = malloc(sizeof(Collection)); collection_init(c->next); } c = c->next; } return &(c->p[index]);}void collection_reset(Collection *c){ int i; if (c->next) { collection_reset(c->next); free(c->next); } c->next = NULL; for (i = 0; i < 32; i++) c->p[i] = NULL;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?