O tempo de vida de uma variável corresponde ao período durante o qual ela permanece válida na memória, podendo ser acessada e utilizada pelo programa.

Na linguagem C, o tempo de vida de uma variável está diretamente relacionado à região de memória onde ela é armazenada.

4.1 Variáveis Locais

Variáveis declaradas dentro de funções são chamadas de variáveis locais.

Essas variáveis são armazenadas na stack e possuem tempo de vida limitado à execução da função onde foram declaradas.

Considere o exemplo:

#include <stdio.h>

void funcao() {
  int x = 10;
  printf("%d\n", x);
}

int main() {
  funcao();
  return 0;
}

Nesse caso:

4.2 Acesso fora do escopo

Após o término da função, a variável deixa de existir e não pode mais ser acessada.

#include <stdio.h>

void funcao() {
  int x = 10;
}

int main() {
  funcao();
  // x não pode ser acessado aqui
  return 0;
}

Qualquer tentativa de acessar essa variável fora do seu escopo resultaria em erro.

4.3 Implicações do Tempo de Vida

O tempo de vida limitado das variáveis locais implica que: