Confusión sobre el hecho de que el puntero no inicializado apunta a cualquier parte
#include <stdio.h>
int main(void)
{
int *ptr;
printf("%p", ptr); // Error: uninitialized local variable 'ptr' used
// Output is "0"
}
Estoy leyendoC-FAQ sobre puntero nulo. Y dice que el puntero no inicializado puede apuntar a cualquier parte. ¿Eso significa que apunta a una ubicación aleatoria en la memoria? Además, si esta afirmación es verdadera, ¿por qué se produce un error si intentoprintf("%p",ptr)
? Desde puntero no inicializadoptr
apunta a alguna ubicación aleatoria, ¡parece que debe imprimir esta ubicación aleatoria!