Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Valores padrões de variáveis - GCC em OSX

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
*/
1 resposta
solução!

Olá Daniel.

Legal, obrigado por trazer essa informação e sim, isso varia bastante para cada compilador e cada linguagem.

O ponto que o instrutor buscava deixar claro é que não devemos usar variáveis sem antes inicializarmos ela, porque isso pode trazer um comportamento inesperado, então é uma boa pratica que você sempre inicialize suas variáveis.

Valeu por avisar sobre esse ponto :D

Bons Estudos.