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'未初始化。你會想爲新節點分配一些內存。 –