代码之家  ›  专栏  ›  技术社区  ›  Simon

实现链接列表数组

  •  0
  • Simon  · 技术社区  · 12 年前

    我想实现一个链表数组(以便实现哈希表)。

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

    我想得到索引12121处的列表(目前为空),所以我做了

    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 回复  |  直到 12 年前
        1
  •  1
  •   Rudy Velthuis    12 年前

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

    liste Oblist[65003];
    
    ...
    
    liste L = Oblist[32123];
    

    或者:

    typedef struct Doublet { ... etc. } liste;
    
    ...
    
    liste *Oblist[65003];
    
    ...
    
    liste *list = Oblist[32123];
    
    推荐文章