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), которое представляет собой размер памяти, необходимой для хранения одного элемента списка.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д