Есть массивы указателей на строки вида:unsigned char **id_list;
unsigned int id_list_count;
Есть функции, которым их нужно передавать для обработки, причём функции изменяют размер массивов. Написал в таком виде:
main
{
...
add_to_list(&id_list,&id_list_count);
...
}
int add_to_list(unsigned char ***list, unsigned int *list_count)
{
// Add memory for pointer
*list = (unsigned char **) my_realloc(*list, (1 + (*list_count)) * sizeof(unsigned char *));
// Add string
(*list)[*list_count] = (unsigned char *) my_malloc(z+3);
}
Смущает количество звёздочек :)
Это нормальная практика или есть способ лучше (без использования сторонних библиотек)?