¿Por qué esta matriz tiene todos los valores restantes inicializados a cero?

Hola soy principiante enLenguaje de programación c, recientemente comencé a aprendermatrices, He estudiado que por defecto todos los valores en una matriz int sonbasura.

Entonces por qué estoy obteniendo valores diferentes en estos dos casos.

Caso 1

int arr[5];

en este caso, desde arr [0] hasta arr [4] tendremos valores de basura, pero en el siguiente caso.

Caso-2

int arr[5] = {1};

en este caso arr [0] tendrá un valor 1 y el resto de arr [1] a arr [4] tendrá un valor 0.

Mi pregunta es que, cuando en el caso 1, cada una de las ubicaciones de la matriz no iniciada tiene basura valeus entonces por qué, en el caso 2, las ubicaciones restantes de la matriz no iniciada tienen 0 como valor predeterminado.

Respuestas a la pregunta(4)

Su respuesta a la pregunta