当前位置:  开发笔记 > 编程语言 > 正文

是否可以免费'void*'?

如何解决《是否可以免费'void*'?》经验,为你挑选了3个好方法。

是.

malloc返回void *和释放void *,所以你的一些演员阵容毫无意义,void *即使你从其他类型的指针开始,你也总是释放一个.



1> Laurence Gon..:

是.

malloc返回void *和释放void *,所以你的一些演员阵容毫无意义,void *即使你从其他类型的指针开始,你也总是释放一个.



2> Pepor..:

是的,这很安全.分配内存时,运行时库会跟踪每个分配的大小.当你调用free()时,它会查找地址,如果找到该地址的分配,则释放正确的内存量(在该地址分配的块).



3> Jerry Coffin..:

是 - free将指针指向void,因此当您调用它时,指针(隐式)转换为指向void的指针.

其余代码不太安全:

void* p = (void*)malloc(sizeof(foo));

你应该投的回报将通过malloc(C语言).这可以掩盖忘记的错误#include

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有