请指点
#include "stdio.h"
#include "conio.h"
#include "string.h"
#define M 1000
#define NULL 0
char all[M];
char *a=all;
char *mall(int s)
{
static char *a=all;
if(s>0&&a+s<=all+M)
{
a=a+s;
return a-s;
}
else
return NULL;
}
main()
{
char *str;
str=(char *)mall(5);
gets(str);
printf("%s",str);
getch();
}
----------------解决方案--------------------------------------------------------
楼主的意思是不是把输入的字符串都固定的存储在all开头的这1000个字节里?
而且输入的字符串不能大于1000字节?
但是这样做有什么意义呢?
----------------解决方案--------------------------------------------------------
个人觉得LZ 在做一个看起来很有用但是实际很废柴的东西
MALLOC 的意义就是你 可以动态创建 因为很多的时候你不能确定你要处理的 数据到底有多大
你这样自定义的 MALLOC 最大才是 1000 而已 连个 最小的 JPG图片都存不了实在没用
建议 LZ 先把 动态创建和静态创建的 意义弄清楚
----------------解决方案--------------------------------------------------------