我正在尝试在名为image的结构上使用malloc.功能是:
void image_init(struct image* img, int w, int h) {
img = malloc(sizeof(struct image));
(*img).w = w;
(*img).h = h;
}
Run Code Online (Sandbox Code Playgroud)
并且再次释放图像的功能是:
void image_destroy(struct image* img) {
free(img);
}
Run Code Online (Sandbox Code Playgroud)
但每当我试图释放malloc-ed数据时,我都会收到错误,即我试图释放的地址之前没有进行过malloc-ed.
图像结构是:
struct image {
int w,h;
int* data;
}
Run Code Online (Sandbox Code Playgroud)
我用以下函数调用函数:
struct image img;
image_init(&img,100,100);
image_destroy(&img);
Run Code Online (Sandbox Code Playgroud)