编写一个函数alloc(n),用来在内存区开辟一个连续的空间(n个字节)。此函数的返回值是一个指针,指向新开辟的连续空间得起始地址。在写一个函数free(p),将地址p开始的各单元释放(不能再被程序使用,除非再度开辟)。
提示:现在内存区定出一片相当大的连续空间(例如1000个字节)。然后开辟与释放都在此空间 进行。假设指针变量p原已指向为用的空间的开头,调用alloc(n)后,开辟了n个字节可供程序使用(例如,可以赋值到这些单元中)。现在需要使p的值变成p+n,表示空白未用区从p+n地址开始,同时要将新开区的起始位置(p)作为函数值返回,已表示可以利用从此点开始的单元。如果要新开辟的区太大(n大),超过了预设的空间(1000字符),则alloc(n)函数返回指针NULL,表示开辟失败。 alloc(n)应返回一个指向字符型数据的指针(因开辟的区间是以字节单位被利用的)。