我有一个家庭链表。我删除了其中一个孩子的兄弟姐妹。
p->myWife->myChildren=p->myWife->myChildren->mySibling; //makes the sibling the child so the list is not broken when deleting
delete p->myWife->myChildren->mySibling;
然后我根据这个
打印子/兄弟属性if(p->myWife->myChildren->mySibling!=NULL){
print the childs attributes
}
每当我打印时,它会为兄弟打印一个奇怪的数字(我假设它的内存地址)我需要做什么才能使该指针为空?
答案 0 :(得分:10)
删除指针不会将其设置为零。它只是释放指针指向的内存。要将其设置为NULL,您必须自己将其设置为NULL。
p->myWife->myChildren->mySibling = NULL /*defined to be zero */;
答案 1 :(得分:3)
删除释放指针引用的内存。要使指针为NULL,请将其指定为NULL!
p->myWife->myChildren->mySibling = NULL;
答案 2 :(得分:2)
删除后,将指针设置为NULL
p->myWife->myChildren->mySibling = NULL;