如果我有一个结构体:
struct Rec
{
uint16_t vals[500];
};
Rec * prec = malloc(sizeof(Rec));
//Rec * prec = (Rec *) malloc(sizeof(Rec)); This code was my original and is incorrect.
// See Below for details.
// initialize everything in vals
这段代码足以释放所使用的所有内存吗?
free(prec);
我是否需要单独使用free
释放数组?
prec
目前没有指向任何东西。您错过了代码中最重要的部分:如何分配类型为struct Rec
的对象。请展示给我们看。 - sarnoldRec * prec = (Rec *) malloc(sizeof(Rec));
根据我所了解的情况,由于prec
是通过malloc
分配的内存,因此需要使用free
释放它,但是对于vals
则不需要。 - providence