struct和链表的问题(使用malloc)

时间:2017-04-30 23:44:13

标签: c linked-list malloc

让我开始说这不是我的代码!我只是运行它并截取结果。

但我不知道为什么这对我不起作用。请帮助我说明为什么会出现以下警告和错误,以及如何修复它们将非常感激。

enter image description here



#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;
&#13;
&#13;

0 个答案:

没有答案