Я занимаюсь школьным заданием, и я привязался к своей глобальной переменной для связанного списка. Исходя из требований, у меня есть основная функция, которая вызывает функцию loadFile(). Эта функция проверяет, принимает ли вход и токенизирует ее, затем добавляет слова в связанный список. Функция loadFile() вызывает функцию insert(), которая создает узел и добавляет его в список. Эта проблема заключается в том, что список работает отлично, если я печатаю из функции loadFile(), но не работает правильно, если я пытаюсь распечатать из основной функции. У меня есть глава узла как глобальная переменная, но это, похоже, не работает.Глобальный указатель в C не обновляется правильно
Node **headNode = NULL;
Node **curr = NULL;
Boolean insert(char *new_string){
Node *temp = (Node *)malloc(sizeof(Node));
temp->item = new_string;
if(headNode == NULL){
temp->next = NULL;
headNode = &temp;
}
else{
temp->next = (*headNode);
headNode = &temp;
}
return true;
}
void loadFile()
{
#define LINE_SIZE 256
char input[LINE_SIZE];
char *token = NULL;
while (fgets(input, LINE_SIZE, stdin))
{
// parse the data into separate elements
token = strtok(input, " \t\n");
while (token)
{
insert(token);
token = strtok(NULL, " \t\n");
}
}
}
Пожалуйста, открепите свой код. – Lundin