【发布时间】:2013-12-11 01:36:26
【问题描述】:
这是我正在处理的链接列表,并试图弄清楚每一行的确切作用。我学习编程的方式似乎非常困难,我感到非常沮丧。无论如何,我了解链接列表的工作原理,但我不了解代码在说什么以及它究竟在做什么来创建结构。例如:我不明白您为什么要为节点(13 和 14)分配一个指针,尤其是当我对指针的理解是它们用于存储内存位置时。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct numnode
{
int val;
struct numnode * next;
};
typedef struct numnode node;
main()
{
int i;
node * head;
node * newnode;
head = NULL;
for (i = 1; i <= 10; i++)
{
newnode = (node *) malloc(sizeof(node));
newnode->val = i;
newnode->next = NULL;
if (head == NULL)
{
head = newnode;
}
else
{
newnode->next = head;
head = newnode;
}
}
}
【问题讨论】:
-
if (head = NULL)head == null 不应该是这样吗? -
要了解每一行的作用,请在调试器中运行代码。这将让您一次执行一行代码。
标签: c linked-list computer-science