30/09/2018, 23:55
Segmentation fault. Help?
Các C pro giúp mình đoạn code này với:
#include <stdlib.h>
#include <string.h>
typedef struct ListElmt_ // Define a structure for linked list elements.
{
void *data;
struct ListElmt_ *next;
} ListElmt;
typedef struct List_ //define a structure for linked lists.
{
int size; // the size of the linked list
ListElmt *head; // the head element
ListElmt *tail; // the tail elemtent
} List;
void list_init(List *l)
{
l->size = 0;
l->head = NULL;
l->tail = NULL;
}
int main()
{
List *ls = NULL;
list_init(ls);
return 0;
}
Mình đã compile với -Werror, không có lỗi gì nhưng chạy là bị segmentation fault các pro ạ.
Mình lần rồi nhưng chưa tìm thấy chỗ nào, đành phải dùng trợ giúp từ cộng đồng.
Sáng mai, đoạn code đơn giản và đầy tự tin Và rồi… ăn ngay gáo nước lạnh
Bài liên quan
Lỗi là do bạn gán dữ liệu con trỏ
NULL
:Fix: cấp phát bộ nhớ cho biến
ls
ls = (List *)malloc(sizeof(List))
Ò yes!
Mình gặp quả này rồi mà ko ghi vào đầu đc.
Mà có vẻ như thế này mới đúng chứ nhỉ?
ls = malloc(sizeof(List ))
sai loe loét chứ đúng cái gì. Bạn @Pham_Van_Hai chỉ đúng rồi đấy.
Mình có sai một chỗ, đã fix.
Rồi . Coi như óc mình chưa bỏ đi.