自定义malloc 函数错在哪呢?
程序代码:
#include "stdio.h"
#include "conio.h"
#include "string.h"
#define M 1000 //自定义malloc函数
#define NULL 0
char all[M];
char *a=all;
void * mall(int s)
{
static char *a=all;
if(s>0&&a+s<=all+M)
{
a=a+s;
return a-s;
}
return NULL;
}
int main()
{
char *str;
str=(char *)mall(5); //分配地址
gets(str);
printf("%s",str);
getch();
return 0;
}
[[it] 本帖最后由 bianfeng 于 2008-4-10 15:27 编辑 [/it]]
----------------解决方案--------------------------------------------------------
HOHO 没错了把
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include "conio.h"
#include "string.h"
#define M 1000 //自定义malloc函数
#define NULL 0
char all[M];
char *a;
void * mall(int s)
{
static char *a=all;
if(s>0&&a+s<=all+M)
{
a=a+s;
// printf("地址是:%d\n",a-s);
return a-s;
}
return NULL;
}
int main()
{
char *str;
int *t[10],i,**p;
str=(char *)mall(5); //分配地址
gets(str);
puts(str);
for(i=0;i<10;i++)
{
t[i]=(int *)mall(sizeof(int));
scanf("%d",t[i]);
}
for(p=t,i=0;i<10;i++)
printf("%-5d",**p++);
getch();
return 0;
}
没错了
----------------解决方案--------------------------------------------------------
嘿嘿 帮你顶个 我看的迷糊了 指针呀 还真迷糊人
----------------解决方案--------------------------------------------------------
指针其实也没什么我昨天发的那个,你会看得更迷糊
----------------解决方案--------------------------------------------------------
酸了 我还不想头晕 不用发了 哈哈
----------------解决方案--------------------------------------------------------
要在头晕中学会指针........
----------------解决方案--------------------------------------------------------
e 不需要咯 我门学指针真的很欠 还好 学会了指针冒泡 还是和你学的呢
----------------解决方案--------------------------------------------------------
你认识我????
----------------解决方案--------------------------------------------------------
我晕 你还不知道呀 倒
----------------解决方案--------------------------------------------------------