我想实现一个链表数组(以便实现哈希表)。
我一开始就有问题。。。我定义了一个链表结构,并初始化了链表数组,就像一个指向列表的指针数组: liste * Oblist[65003]; (我需要这样初始化它吗 liste * Oblist[65003] = {NULL}; ?)
liste * Oblist[65003];
liste * Oblist[65003] = {NULL};
我想得到索引12121处的列表(目前为空),所以我做了
liste L = *Oblist[12121] ;
程序编译时没有错误,但当我运行它时 Segmentation fault (core dumped)
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; }
提前感谢;)
你有一些问题。 liste 被typedef为指向 struct Doublet ,所以应该是
liste
struct Doublet
liste Oblist[65003]; ... liste L = Oblist[32123];
或者:
typedef struct Doublet { ... etc. } liste; ... liste *Oblist[65003]; ... liste *list = Oblist[32123];