C Language Lectura de un objeto sin inicializar que no está respaldado por la memoria


Ejemplo

C11

La lectura de un objeto causará un comportamiento indefinido, si el objeto es 1 :

  • sin inicializar
  • definido con duración de almacenamiento automático
  • su dirección nunca se toma

La variable a en el siguiente ejemplo satisface todas esas condiciones:

void Function( void )
{
    int a;
    int b = a;
} 

1 (Citado de: ISO: IEC 9899: 201X 6.3.2.1 Lvalores, matrices y designadores de funciones 2)
Si el lvalue designa un objeto de duración de almacenamiento automático que podría haberse declarado con la clase de almacenamiento de registro (nunca se tomó su dirección), y ese objeto no está inicializado (no se declaró con un inicializador y no se realizó ninguna asignación antes de su uso) ), el comportamiento es indefinido.