Если у вас есть указатель, который не инициализирован и, по ошибке, попробуйте его освободить, это приведет к неопределенному поведению?Вызывает ли освобождение неинициализированного указателя неопределенное поведение?
Как:
int main(void){
char *string;
free(string);
return 0;
}
Вы не «освободите указатель». Вы освобождаете * память *, и вы указываете, какую память вы хотите освободить с указателем на нее. –