Прошло немного времени, так как я сделал немного C, и мне нужно освежить мое понимание указателей. Вот функция, которая изменяет содержимое указателя. Вопрос в том, правильный ли этот код. Достаточно ли этого, если я освобождаю только указатель, или мне нужно освободить содержимое по указателю
void foo(char **str) {
// str has been allocated enough bytes for the following text
*str = "allocate some text";
}
int main(int arc, char *argv[]) {
char *someString;
foo(&someString);
free(someString); // is this the correct place to free
}
Спасибо.