memory.c

来自「Image Processing, Analysis, and Machine 」· C语言 代码 · 共 50 行

C
50
字号
##include "defs.h"#include <stdio.h>freeinit(fl, size)struct	Freelist *fl;int	size;{fl -> head = (struct Freenode *) NULL;fl -> nodesize = size;}char *getfree(fl)struct	Freelist *fl;{int i; struct Freenode *t;if(fl->head == (struct Freenode *) NULL){	t =  (struct Freenode *) myalloc(sqrt_nsites * fl->nodesize);	for(i=0; i<sqrt_nsites; i+=1) 			makefree((struct Freenode *)((char *)t+i*fl->nodesize), fl);};t = fl -> head;fl -> head = (fl -> head) -> nextfree;return((char *)t);}makefree(curr,fl)struct Freenode *curr;struct Freelist *fl;{curr -> nextfree = fl -> head;fl -> head = curr;}int total_alloc;char *myalloc(n)unsigned n;{char *t;if ((t=malloc(n)) == (char *) 0){    fprintf(stderr,"Insufficient memory processing site %d (%d bytes in use)\n",		siteidx, total_alloc);     exit();};total_alloc += n;return(t);}

⌨️ 快捷键说明

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