永发信息网

C++ free()

答案:4  悬赏:0  手机版
解决时间 2021-04-27 18:09
  • 提问者网友:暮烟疏雨之际
  • 2021-04-27 05:57
C++ free()
最佳答案
  • 五星知识达人网友:罪歌
  • 2021-04-27 06:51
首先在使用链表的时候是不会释放很大一块内存的,free只会释放这个指针的类型的大小的内存
其次如果这个数据A有其他指针指向它,那么他就无法释放,也就是说free释放的内存只能有一个指针或者没有指针指向它,这样才可以释放
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-04-27 08:44
对于链表,你从头到尾一个个节点释放掉好了.
  • 2楼网友:神也偏爱
  • 2021-04-27 08:30
语法:
#include
void free( void *ptr );
功能: 函数释放指针ptr指向的空间,以供以后使用。指针ptr 必须由先前对malloc(), calloc(), realloc()的调用返回。例如:
typedef struct data_type {
int age;
char name[20];
} data;

data *willy;
willy = (data*) malloc( sizeof(willy) );
...
free( willy );
  • 3楼网友:迷人又混蛋
  • 2021-04-27 07:50
delete是释放new开辟的内存。new和delete 开辟再堆中内存时候会调用构造函数和析构函数
malloc和free不会调用。free释放内存,并不是真正意义上的把那块内存清空了,他只是告诉操作系统这块内存可以被再次使用,如果操作系统以后用这块内存的话就会把上面的数据覆盖掉。malloc多大内存就要用free多大内存。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯