内存存放住处基本方式
用来在内存区新开辟一个连续的空间.此函数的返回值是一个指针,指向新开辟的起始地址.#define NULL 0
#define ALLOCSIZE 100
char allocbuf[ALLOCSIZE];
char *allcp=allocbuf;
char *alloc(int n)
{
if(allocp+n<=allocbuf+ALLOCSIZE)
{allocp+=n;/*这行和下一行是多余的吗,为什么不直接返回allocp*/
return(allocp-n);
}
else return(NULL);
}
free(char *p) /*关于这个释放看不懂,而且条件若用数轴表示的话在一个方向上了能请老师帮我解答吗*/
{ if(p>=allocbuf&&p>allocbuf+ALLOCSIZE)
allocp=p;
}
/*C语言两种向内存存取信息的方式,(这是全程变量和局部变量,它们包括数组和结构)是这种吗?还有二种是动态地址分配,问题1:这样理解对吗?2:我能用什么办法了解到系统提供的函数源代码?*/