Segmentation fault при вызове malloc - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Щас создавал модуль на Си для работы со списком, думал минутное дело, за 40 мин накатал и уже почти час не могу понять почему выдает Segmentation fault при вызове malloc в функции Create, объясните пожалуйста, вот фрагменты кода:
Листинг программы
  1. typedef int T;
  2. struct Item {
  3. struct Item* prev;
  4. struct Item* next;
  5. T data;
  6. };
  7. typedef struct {
  8. struct Item* node;
  9. } Iterator;
  10. typedef struct {
  11. struct Item* head;
  12. int size;
  13. } List;
  14. void Create (List* l) {
  15. printf ("111\n");
  16. l->head = malloc (sizeof (struct Item)); /* ИМЕННО ЗДЕСЬ ВЫЛЕТАЕТ С Segmentation fault */
  17. printf ("--\n");
  18. l->head->next = l->head->prev = l->head;
  19. l->size=0;
  20. }
Не забываю говорить спасибо)

Решение задачи: «Segmentation fault при вызове malloc»

textual
Листинг программы
  1. List* list = malloc (sizeof (List));

Объяснение кода листинга программы

  1. В коде выделяется память под список (List*) с помощью функции malloc.
  2. В качестве размера списка передается значение sizeof(List), которое представляет собой размер памяти, необходимой для хранения одного элемента списка.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы