структура не работает на языке связанного списка C - PullRequest
0 голосов
/ 19 мая 2018

В следующем коде один фрагмент кода работает, но если я прокомментирую это и запусту второй фрагмент, он не работает, почему?

1 Ответ

0 голосов
/ 20 мая 2018

Указатели - это просто числа, указывающие на память.

Рассмотрим эту часть вашего кода:

list_t * planetList; 
list_t * temp = planetList;
temp=malloc(sizeof(list_t));

Давайте разберем код построчно.

list_t * planetList; 

Вы только что объявили указатель (число), и значение не было инициализировано.

list_t * temp = planetList;

Вы объявили другой указатель (число), и значение равнона неинициализированное значение planetList.

temp=malloc(sizeof(list_t));

Вы устанавливаете значение из temp на любое значение, возвращаемое malloc().
planetList остается неинициализированным.

Как заметил @Jonathan, ваша проблема, вероятно, заключается в том, что planetList никогда не настроен на что-либо, и поэтому вы не можете его использовать.

...