Em dado momento do vídeo é dito que o GCC do Mac dá um valor padrão (1:45) . Não creio que isso esteja correto.
Apenas o Objective-C tem essa característica, para membros de Objetos alocados.
O programa abaixo tem comportamentos diferentes dependendo da forma que é compilado:
#include <stdio.h>
int main( int argc, char** argv ) {
int valorQualquer;
int outroValor;
{
int valorEmpilhado = 31414;
++valorEmpilhado;
}
int mesmoValorDaPilha;
printf("%d %d %d\n", valorQualquer, outroValor, mesmoValorDaPilha);
return 0;
}
/*
clang bla.c -obla
0 0 0
clang -O3 bla.c -obla
-359040880 -359040864 -359040616
*/