实现一组链表

时间:2014-07-29 22:30:22

标签: c arrays singly-linked-list

我想实现一个链表的数组(为了实现一个哈希表)。

我在一开始就遇到了问题...我定义了一个链表结构,我初始化了链表的数组,就像一个指向列表的指针数组:liste * Oblist[65003]; (我需要像这样初始化它:liste * Oblist[65003] = {NULL};?)

我想在索引12121(暂时为NULL)中获取列表,所以我做了

liste L = *Oblist[12121] ;

程序编译没有错误,但是当我运行它时,我得到Segmentation fault (core dumped)

以下是整个代码:

typedef struct Doublet {char * car ; struct Doublet * cdr ;}* liste ;

liste * Oblist[65003];

int main(void){

    liste L = *Oblist[32123] ;

    return 0;
}

提前谢谢你;)

1 个答案:

答案 0 :(得分:1)

你有一些问题。 liste是typedef被指定为struct Doublet的指针,所以它应该是

liste Oblist[65003];

...

liste L = Oblist[32123];

或者,或者:

typedef struct Doublet { ... etc. } liste;

...

liste *Oblist[65003];

...

liste *list = Oblist[32123];