У меня есть указатель *** resultSet, который я передаю в качестве параметра моей функции SQL, которая считывает неизвестное количество данных из БД. Фактическая обработка данных происходит вне функции.
При очистке этой конструкции указателя я просто освобождаю основной указатель один раз и освобождаю все последующие выделения или мне нужно освобождать все созданные мной malloc?
while((row = mysql_fetch_row(result))) {
// allocating the rows pointer
resultSet = malloc(sizeof(void)*(int)mysql_num_rows);
(*rows)++;
for (i=0 ; i < mysql_num_fields(result); i++)
{
// allocating the fields pointer
*(resultSet+i) = malloc(sizeof(void)*(int)mysql_num_fields);
// allocating the character pointer
**resultSet = malloc(sizeof(char)*strlen(row[i])+1);
(*fields)++;
snprintf(**resultSet, strlen(row[i])+1, "%s", row[i]);
printf("%s\t",**resultSet);
if (i==6)
{
printf("\t %s\n",**resultSet);
}
}
}