#define SIZE 7000
static char buf[SIZE];
static char *bufptr = buf;
struct node
{
int reg_num;
int val;
char var_name[30];
char var_str[100];
struct node *memroy;
struct node *next;
};
struct node* add(struct node *head, int i)
{
struct node *temp;
if (head == NULL)
{
temp = (struct node *)malloc(sizeof(struct node));
temp->next = NULL;
temp->reg_num = i;
head = temp;
}
else
{
head->next = add(head->next, i);
}
return head;
}
void* malloc(int n)
{
if (buf + SIZE - bufptr >= n)
{
bufptr += n;
return bufptr - n;
}
else
{
return NULL;
}
}
当我运行我的程序时,它会在作业temp->next = NULL
期间崩溃。
我认为问题出在我的malloc函数中。我在库中用malloc
测试它并且它正常工作,但我不允许使用库并且必须编写新的malloc
函数。
答案 0 :(得分:7)
您永远不会检查malloc
但知道的回复return NULL;
。
在执行temp
;
NULL
是否为temp->next = NULL
答案 1 :(得分:-2)
我的问题与指针的种类和从CookieManager cookieManager = new CookieManager();
cookieManager.setAcceptCookie(true);
返回的值没有关系。我的malloc()
大小有问题,而且我的问题大小增加了解决了。来自每个人。