如何释放这个malloc'd数组?
这是我的pebble代码的一部分。我只是想知道什么是最好的免费方式如何释放这个malloc'd数组?,c,C,这是我的pebble代码的一部分。我只是想知道什么是最好的免费方式 case CGM_BGSX_KEY:; //APP_LOG(APP_LOG_LEVEL_INFO, "SYNC TUPLE: BGS X AXIS"); strncpy(last_bgsx, new_tuple->value->cstring, BG_MSGSTR_SIZE); if (strcmp(last_bgsx, " ") == 0) { // init code; initial
case CGM_BGSX_KEY:;
//APP_LOG(APP_LOG_LEVEL_INFO, "SYNC TUPLE: BGS X AXIS");
strncpy(last_bgsx, new_tuple->value->cstring, BG_MSGSTR_SIZE);
if (strcmp(last_bgsx, " ") == 0) {
// init code; initialize the array
bgsx_array = (int*)malloc(MAX_BG_ARRAY_SIZE*sizeof(int));
for (uint8_t n = 0; n < MAX_BG_ARRAY_SIZE; n += 1) {
bgsx_array[n] = 0;
}
}
你会这么做吗
freebgsx_阵列 是的-你在提出问题之前试过吗?是的-你担心什么?你认为替代方案是什么?你打算什么时候释放它?我用那种方式释放了它,但它对我最后分配的堆没有任何影响。我只是想确定我没有做错什么,嗯?你有没有在windows上使用valgrind或类似的内存错误检查器进行检查?我正在mac上运行valgrind。在0x1000A2EA1:malloc vg_replace_malloc.c:303中,我得到了1个块中的48个字节仍然可以在丢失记录238中访问到的342==80741==at 0x1000A2EA1:malloc vg_replace_malloc.c:303