求助 c程序设计语言上一个关于空间分配的函数不懂,求老司机带带
用alloc函数对一个大字符数组allocbuf中的空间进行分配#define ALLOCSIZE 10000
static char allocbuf[ALLOCSIZE];
static char *allocp=allocbuf; //下一个空闲位置 这是什么意思,这不是指的数组第一个位置吗
char *alloc(int *n) //返回指向N个字符的指针
{
if(allocbuf+ALLOCSIZE-allocp>=n)
{allocp +=n;
return allocp-n;
}
else return 0;
}
void afree(char *p)
{ if (p>=allocbuf&&p<=allocbuf +ALLOCSIZE)
p=allocp;
}