c语言 free释放 后是不是就没有了?
答案:1 悬赏:30 手机版
解决时间 2021-03-01 07:22
- 提问者网友:疯孩纸
- 2021-02-28 14:33
c语言 free释放 后是不是就没有了?
最佳答案
- 五星知识达人网友:鱼忧
- 2021-02-28 14:40
当你释放某个地址后,
这个地址中的内容有可能被改为-56462101这样的
也有可能没有被改变(也就是你原来储存的数据)
虽然是释放了,但你任然可以访问这个地址
但是这个动作是很危险的哦追问p=q->next;
free(q);
q=p;
这是链表的一部分嘛,但是这个 q不是 会被释放么、那么这个链表我可以读出全部么?追答释放的是q上一次的地址,你仔细看下,q其实又指向了另一个地址追问那上次的数据岂不是没有了?追答是的,释放就没了
这个地址中的内容有可能被改为-56462101这样的
也有可能没有被改变(也就是你原来储存的数据)
虽然是释放了,但你任然可以访问这个地址
但是这个动作是很危险的哦追问p=q->next;
free(q);
q=p;
这是链表的一部分嘛,但是这个 q不是 会被释放么、那么这个链表我可以读出全部么?追答释放的是q上一次的地址,你仔细看下,q其实又指向了另一个地址追问那上次的数据岂不是没有了?追答是的,释放就没了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯