Я пытаюсь использовать массив узлов с динамическим распределением памяти, чтобы я мог увеличить количество узлов во время выполнения. Однако я, кажется, получаю ошибку, которая мне неизвестна. Возможно, я использую массив неправильно, поэтому, пожалуйста, проверьте и исправьте меня. listNo в коде используется целочисленная переменная.Динамический размер массива в C
Код:
Node* lists = (Node*) malloc(100 * sizeof(lists));
printf("\n Enter the number of lists:");
scanf("%d", &nbrOfLists);
if(nbrOfLists < 0)
return -1;
if(nbrOfLists>100)
lists = realloc(lists, 100 * sizeof(lists));
lists[listNo] = NULL; // getting error here incompatible types assigning Node from type 'void*'
lists[listNo]= insertValue(lists[listNo], val);
Я имею в виду каждый элемент массива имеет первый элемент индивидуального связанного списка. Следующий элемент - это другой независимый первый узел другого связанного списка.
Вы хотите массив узлов или массив указателей узлов? –
Предлагаю дополнительно прочитать о указателях и массивах. – rullof
массив указателей узлов. Каждый элемент массива представляет собой узел, указывающий на следующий узел в списке –