1. 程式人生 > >10.19編寫一個函數 alloc(n) 用來在內存區開辟一個連續的空間(n個字節) 。 和 free(char * p),將地址p開始的各單元釋放。

10.19編寫一個函數 alloc(n) 用來在內存區開辟一個連續的空間(n個字節) 。 和 free(char * p),將地址p開始的各單元釋放。

null 地址 可用 第一個 ret 定義 define 編寫 bsp

#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開始的各單元釋放。