Vitor, Se entendi bem, você pode estar confundindo um print de como estavam as variáveis com a memória do sistema, então você acha que como o print não sumiu as coisas continuam salvas, mas assim que o programa para de rodar não existe mais memória dele.
Quanto a outra pergunta, declaração é quando você coloca o tipo da variável, primeira vez que escreve ela no código
Inicialização é a primeira vez que você coloca valor nela, normalmente é bom fazer isso quando declara pra evitar as chances de tentar usar um valor que não exista.