2
我有鏈接列表問題。我有兩種結構:C中的鏈接列表分段錯誤
struct ekstra
{
char isim[256];
int deger;
struct ekstra *sonra;
};
struct node
{
char name[256];
int val;
struct ekstra *next;
};
,我有這些:
struct ekstra *tmp;
struct node dizi[12];
某處在我的代碼有
tmp = dizi[k].next;
tmp=tmp->sonra;
,如果我這樣做:
tmp = malloc(sizeof(struct ekstra));
沒有問題。
但是,如果我這樣做:
dizi[k].next->sonra = malloc(sizeof(struct ekstra));
,我收到了段錯誤。這是爲什麼發生?
你最好在調試器的幫助下運行代碼。在Linux上,valgrind很適合指出分段錯誤。另外,在Windows上,Visual Studio調試器非常有用。 – Tom
也許你錯用了數組索引'k'。請發佈完整的代碼 –
@GeorgeGaál請不要要求完整的代碼,但更完整的代碼可以重現該問題。 – Drise