是.
malloc返回void *
和释放void *
,所以你的一些演员阵容毫无意义,void *
即使你从其他类型的指针开始,你也总是释放一个.
是.
malloc返回void *
和释放void *
,所以你的一些演员阵容毫无意义,void *
即使你从其他类型的指针开始,你也总是释放一个.
是的,这很安全.分配内存时,运行时库会跟踪每个分配的大小.当你调用free()时,它会查找地址,如果找到该地址的分配,则释放正确的内存量(在该地址分配的块).
是 - free
将指针指向void,因此当您调用它时,指针(隐式)转换为指向void的指针.
其余代码不太安全:
void* p = (void*)malloc(sizeof(foo));
你应该不投的回报将通过malloc(C语言).这可以掩盖忘记的错误#include