首页 > 代码库 > 10.19编写一个函数 alloc(n) 用来在内存区开辟一个连续的空间(n个字节) 。 和 free(char * p),将地址p开始的各单元释放。
10.19编写一个函数 alloc(n) 用来在内存区开辟一个连续的空间(n个字节) 。 和 free(char * p),将地址p开始的各单元释放。
#include <stdio.h> #define NULL 0 #define ALLOCSIZE 1000 //最大存储数量 char allocbuf[ALLOCSIZE]; //定义一个存储区 char * palloc = allocbuf; //palloc总是指向存储区中第一个可用的地址 int main(){ return 0; } char * alloc(int n){ if(palloc+n < allocbuf+ALLOCSIZE){ palloc += n; return (palloc-n); //返回新开辟的存储区的首地址 } else return NULL; //分配地址失败,空指针不指向任何函数或者对象的地址 } void free(char * p){ if(p >= allocbuf && p < palloc){ palloc = p; }else printf("释放内存失败"); }
10.19编写一个函数 alloc(n) 用来在内存区开辟一个连续的空间(n个字节) 。 和 free(char * p),将地址p开始的各单元释放。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。