写一函数free,将上题用new函数占的空间释放。free(p)表示将p(地址)指向的单元以后的内存释放。
free的作用是使newp的值改为p.代码如下:
#include <stdio.h> #define NULL 0 #define NEWSIZE 1000 char newbuf[NEWSIZE]; char *newp = newbuf; char * new(int); void free(char *);
int main(int argc,char *argv) { system("pause"); return 0; } char * new(int n) { if (newp + n <= newbuf + NEWSIZE) { newp = newp + n; return newp - n; } else { return NULL; } }
void free(char *p) { if ((p >= newbuf) && (p <newbuf + NEWSIZE)) { newp = p; } }
|
阅读(1446) | 评论(0) | 转发(0) |