Я пытаюсь использовать индекс для возврата к началу массива указателей, но у меня возникли некоторые трудности.Вот что у меня есть до сих пор:
void free_x (char **strings, const int free_outer_array)
{
int pointer_offset=0;
while (*strings) {
pointer_offset ++;
free (*strings);
*strings++ = NULL;
}
*strings = *(strings-pointer_offset); // this line?
if (free_outer_array)
free(strings);
}
После сбора информации о смещении относительно того, как далеко указатель прошел свое первоначальное положение, как мне «восстановить» указатель в этом точном положении?