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.
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:
x é criada quando a função funcao é chamadaApó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.
O tempo de vida limitado das variáveis locais implica que: