更新全局变量

时间:2015-10-29 02:18:16

标签: c linked-list global-variables

我在LinkedList的开头插入单词,并使用head和next全局变量来执行此操作。

例如:

Node *head; 
Node *nextNode;
....

Node *newNode;
newNode = (Node*)malloc(sizeof(Node)); 

if(newNode != NULL)
{
        newNode->item = strdup(new_string); 
        newNode->next = head;
        head = newNode;

        nextNode = head->next;
}

更改头部变量是正确的,但我不确定您是否可以将nextNode设置为接下来的头部位置。 (我认为你必须像使用head变量一样分配它。)有没有人对我如何不断更新nextNode变量有任何解释?

编辑: 我跟踪头部和下一个节点的原因是因为我创建了一个遍历方法,在调用时,会给出节点中的当前项目。例如;

char* nextItem()
{
    char* nextWord = NULL;

    if(nextNode != NULL)
    {
        nextNode = nextNode->next;

        nextWord = nextNode->item;
    }

    return nextWord;
}

0 个答案:

没有答案