DoubleLinkedList.h分段故障
#ifndef _DOUBLE_LINKED_LIST_H
#define _DOUBLE_LINKED_LIST_H
typedef unsigned int uint;
typedef unsigned long ulong;
typedef void* Object;
typedef struct _DNode {
Object data;
struct _DNode* prev;
struct _DNode* next;
}DNode;
typedef struct _DoubleLinkedList{
DNode* head;
DNode* tail;
uint length;
uint elementSize;
}DoubleLinkedList;
DoubleLinkedList* allocDList (uint elementSize);
#endif
DoubleLinkedList.c
#include "DoubleLinkedList.h"
DoubleLinkedList* allocDList (uint elementSize)
{
DoubleLinkedList* l;
l->head = NULL;
l->tail = NULL;
l->length = 0;
l->elementSize = elementSize;
return l;
}
的main.c
#include <stdio.h>
#include "DoubleLinkedList.h"
int main()
{
DoubleLinkedList* ab;
ab = allocDList(10);
return 0;
}
当我尝试运行这个我得到一个核心转储的分段错误。
这是分配中所要求的。
DoubleLinkedList * allocDList(UINT elementSize):此函数分配的DoubleLinkList
in'allocDList','l'未初始化。你会想为新节点分配一些内存。 –