Blog Post

链表节点的注意点(什么时候节点的地址为NULL)

切记,如果所选中的节点为NULL,那么是不能访问该结点的数据的,不让会发生内存错误,更加恶心的是有些编译器是不会报错的(dev c++)

同时,如果节点开辟空间了,节点的数据就不会NULL;反之,如果节点没有开辟空间,该节点的地址就为NULL,任何引用节点数据的行为会导致内存错误。

这里给出一点代码:

int main(){

struct node *p;

p=(struct node*)malloc(sizeof(struct node));

if(p==NULL){

printf("1");

}

else printf("0");

}

运行结果为 0

刚好印证了上述的内容

总结以下,就是在引用节点数据前,一定要充分考虑节点的地址是否为NULL.