Por que esse array tem todos os valores restantes inicializados em zero?

Olá eu sou um iniciante emLinguagem de programação Crecentemente comecei a aprendermatrizes, Estudei que, por padrão, todos os valores em uma matriz int sãolixo.

Então, por que eu estou recebendo valores diferentes nesses dois casos.

Caso 1

int arr[5];

neste caso, de arr [0] até arr [4], teremos valores de lixo, mas no próximo caso.

Caso 2

int arr[5] = {1};

neste caso, arr [0] terá um valor 1 e permanecendo de arr [1] para arr [4] terá valor 0.

Minha pergunta é que, quando no caso-1 cada localidade não-initilized da disposição está tendo o vale do lixo então porque no caso-2 as posições não-initilized restantes da disposição estão tendo 0 como o valor padrão.

questionAnswers(4)

yourAnswerToTheQuestion