大神啊!不是求作业!这个真心不会啊!!!求大神给个思路啊!
用C语言指针编写一个函数alloc(n) ,用来在内存区开辟一个连续的空间(n个字节)。此函数的返回值是一个指针, 只想新开辟的连续空间的起始地址。 再写一个函数free(p),将起始地址p开始的各单元释放(不能再被程序使用 ,除非再度开辟)。提示:现在内存区定出一片相当大的连续空间(如1000字节)。然后开辟与释放都在此空间进行。假设指针变量p原已指向未用空间的开头,调用alloc(n)后,开辟了n个字节可供程序适使用。现在需要使 p的值变为p+n,表示空白未用区从p+n地址开始,同时要将开辟区的起始地址(p)作为函数值返回,以表示可以利用从此点开始的单元。如果要开辟的区太大(n大),超过了预想的(1000)字符,则alloc(n)函数返回指针NULL,表示开辟失败。
本人新学C 高手帮帮忙 谢谢~!
[ 本帖最后由 haiboself 于 2013-11-6 22:50 编辑 ]