Segmentation fault при вызове malloc - C (СИ)
Формулировка задачи:
Щас создавал модуль на Си для работы со списком, думал минутное дело, за 40 мин накатал и уже почти час не могу понять почему выдает Segmentation fault при вызове malloc в функции Create, объясните пожалуйста, вот фрагменты кода:
Не забываю говорить спасибо)
typedef int T;
struct Item {
struct Item* prev;
struct Item* next;
T data;
};
typedef struct {
struct Item* node;
} Iterator;
typedef struct {
struct Item* head;
int size;
} List;
void Create (List* l) {
printf ("111\n");
l->head = malloc (sizeof (struct Item)); /* ИМЕННО ЗДЕСЬ ВЫЛЕТАЕТ С Segmentation fault */
printf ("--\n");
l->head->next = l->head->prev = l->head;
l->size=0;
}Решение задачи: «Segmentation fault при вызове malloc»
textual
Листинг программы
List* list = malloc (sizeof (List));
Объяснение кода листинга программы
- В коде выделяется память под список (List*) с помощью функции malloc.
- В качестве размера списка передается значение sizeof(List), которое представляет собой размер памяти, необходимой для хранения одного элемента списка.