链表节点的注意点(什么时候节点的地址为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.
人生如逆旅,我亦是行人