У меня есть функция, которая увеличивает строки в массиве двумерных символов, в котором есть элементы. Я должен освободить память после использования calloc
? Как мне сделать это внутри функции? Я получаю утечки памяти, и я думаю, что это может быть из-за того, что я не использую free
.
char **decode_structure;
void make_row_decode_structure_bigger(int rows){
//printf("inside the making the rows bigger \n");
int max_rows = rows+1;
char **store = realloc( decode_structure, sizeof *decode_structure * (rows + 1) );
//printf("after a store has been assigned\n");
if (store){
decode_structure = store;
for(size_t i = 0; i < 1; i++ ){
decode_structure[rows + i] = calloc(15, sizeof(char));
decode_structure[rows + i][0] = '\0';
}
}
//printf("end of making the rows increase\n");
return;
}
//in main()
decode_structure = (char**)calloc( 2, sizeof(char*) );
for(size_t i = 0; i < 2; i++){
decode_structure[i] = calloc(15, sizeof(char));
decode_structure[i][0] = '\0';
}
вот сообщение об ошибке, которое появилось:
* Ошибка в `./prog ': free (): поврежденные несортированные чанки: 0x0000000001937010 *