【发布时间】:2020-12-24 02:41:43
【问题描述】:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int** intptrArray;
char word[50];
在随后的函数中使用 malloc 分配它们后,我试图在数组和 word 上使用 free()。 free(intptrArray) 似乎工作得很好,但每次我尝试 free(word)、free(*word) 或 free(&word) 时,我都会收到错误 - 最常见的是“尝试释放非堆对象”。
我该如何解决这个问题?蒂亚!
【问题讨论】:
-
您为什么要这样做?释放
word后,您预计会发生什么? -
只能释放
malloc()、calloc()、realloc()等返回的内存 -
请在Minimal Reproducible Example 上发布完整的代码,显示您如何使用
malloc()和free(),而不是假设和描述。