P279_1019模拟alloc和free

来源:互联网 发布:淘宝高达模型 编辑:程序博客网 时间:2024/06/06 17:52
编写一个函数alloc(n)用来在内存区新开辟一个连续的空间(n个字节)。此函数的返回值是一个指针,指向新开辟的连续空间的起始地址。再编写一个函数free(*p)将地址p开始的个单元释放(不能再被程序使用除非再度开辟)

#include <stdio.h>
#include <stdlib.h>

//#define NULL 0
#define ALLOCSIZE 1000
char *alloc(int n);
void free1(char *p);
char allocbuf[ALLOCSIZE];
char *allocp = allocbuf;
int main()
{

    char *c =alloc(3);
    printf("%ld\n",c);
    free(c);
    return 0;
    printf("%ld\n",c);
}

char *alloc(int n)
{
    if(allocp+n<= allocp+ALLOCSIZE)
    {
       allocp += n;
       return allocp-n;
    }
    else
       return(NULL);
}

void free1(char *p)
{
   if(p>=allocbuf&&p
       allocp = p;
}

0 0
原创粉丝点击