让我开始说这不是我的代码!我只是运行它并截取结果。
但我不知道为什么这对我不起作用。请帮助我说明为什么会出现以下警告和错误,以及如何修复它们将非常感激。
#include <stdio.h>
#include <stdlib.h>
typedef struct MB MB;
struct MB
{
int size;
MB *prev;
MB *next;
};
int main()
{
const int SIZE = 20;
MB *ptr, *head;
ptr = head = malloc(sizeof(MB));
if(ptr==NULL)
{
perror("malloc ...");
exit(0);
}
ptr->size = rand()%1000+100;
ptr->prev = NULL;
int i;
for (i=0; i<SIZE; i++)
{
ptr->next = malloc(sizeof(MB));
ptr->next->prev = ptr;
ptr->next->size = rand() % 1000+100;
ptr=ptr->next;
}
ptr->next=NULL;
ptr=head;
printf("Initial Free Mem Block List \n");
printf("*****************************\n");
printf("Head pointer --> [%8x]\n", head);
for (i=0; i<=SIZE; i++)
{
printf("[%08x]\tSize=%d\t Next-->[%08x] Prev-->[%08x]\n", ptr, ptr->size, ptr->next, ptr->prev);
ptr=ptr->next;
}
printf("*****************************\n");
printf("brk pointer --> [%8x]\n", brk(0));
}
&#13;