小编w m*_*w m的帖子

恢复变量的自由记忆的正确方法

我创建了一个旨在获取用户输入的函数.它要求将内存分配给保存用户输入的变量; 但是,该函数在函数结束时返回.释放已分配内存/返回变量值的正确方法是什么?

这是代码:

char *input = malloc(MAX_SIZE*sizeof(char*));
int i = 0;
char c;

while((c = getchar()) != '\n' && c != EOF) {
    input[i++] = c;
}

return input;
Run Code Online (Sandbox Code Playgroud)

我应该返回输入地址并在使用后将其释放吗?

对于释放输入变量的最合适方法感到好奇.

c memory malloc free

15
推荐指数
3
解决办法
1万
查看次数

标签 统计

c ×1

free ×1

malloc ×1

memory ×1