qq_45651829
氯的平方
2019-12-22 13:36

用delete删除节点后为什么节点的数据任然存在

  • Golang
  • c++
  • c语言
  • bash
  • 开发语言

delete不是可以让某个指针所指向的区域按照这个指针的类型所占有的内存大小来释放空间吗,那这块区域就应该被填充了未知的垃圾数据,但是为什么被删掉的节点的数据没有被垃圾数据所覆盖呢?

#include<bits/stdc++.h>

using namespace std;
struct node{
    int number;
    struct node *next;
};

int main(void)
{
    struct node Node;
    Node.number = 1;

    struct node Node2;

    Node.next = &Node2;

    Node2.next = NULL;

    Node.number = 2;
    printf("%p %d\n",Node,Node.number);
    struct node *deletenode = &Node;
    delete deletenode;
    deletenode = NULL;
    printf("%p %d\n",Node,Node.number);
}

程序运行的结果:
图片说明
各位大佬救救大一的孩子吧,要裂开了

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答

为你推荐