我像这样创建了一个字符数组:
char arr[3] = "bo";
如何释放与我命名为"arr"的数组相关的内存?
局部变量会在函数结束时自动释放,无需自行释放。你只能释放动态分配的内存(例如使用 malloc
),因为它是在堆上分配的:
char *arr = malloc(3 * sizeof(char));
strcpy(arr, "bo");
// ...
free(arr);
有关动态内存分配的更多信息:http://en.wikipedia.org/wiki/C_dynamic_memory_allocation