我宣布节点如下,为什么不能像这样访问链表中的指针?
typedef struct slinkedlist {
int data;
struct slinedlist *next;
} node;
我有温度指针node * tmp
在我的代码,我为什么不能访问tmp->next->next
。
/*增加了代码*/
typedef struct slinkedlist {
int data;
struct slinedlist *next;
} node;
node *start;
/* Assume I have 5 nodes in a list */
void ex(void)
{
node *tmp;
tmp = start->next->next; /* This will be error in C , explain me, why? */
/* But this works fine */
tmp = start->next;
tmp = tmp->next;
}
为什么我会得到错误,如果我访问开始 - >下一步 - >下?
当你尝试时会发生什么?你有错误信息吗?什么? –
这样你就有空指针解引用的危险。 – werediver
您为指针分配的内存不是用于结构体 –