Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
Aprendendo a Programar Programando em Linguagem C - FSM
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
modificador extern.<br />
Variáveis estáticas<br />
Como uma variável local deixa de existir quando se encerra a execução da função, o último valor nela<br />
armazenado é perdido. Pode ocorrer que o último valor armazenado numa variável local seja necessário para<br />
uma chamada subsequente da função. Após a execução de uma função, o último valor armazenado numa<br />
variável local pode ser preservado para ser utilizado numa chamada posterior da função através do<br />
modificador de variável static. No Turbo C 2.01 e no Turbo C++ 3.0, uma variável local static deve ser<br />
inicializada por um valor constante ou o endereço de uma variável global, quando da sua declaração. Neste<br />
caso, considerando que receberá endereços, uma variável static deve ser definida como um ponteiro.<br />
Por ex<strong>em</strong>plo, o programa abaixo utiliza uma variável estática para guardar o valor de Termo <strong>em</strong> cada<br />
ativação da função GeraPA() para, com este valor, obter o valor do termo seguinte.<br />
#include <br />
#include <br />
int a1;<br />
int GeraPA(int r)<br />
{<br />
static int *Termo = &a1;<br />
*Termo = *Termo + r;<br />
return (*Termo);<br />
}<br />
main()<br />
{<br />
int i, Razao;<br />
clrscr();<br />
printf("Digite o primeiro termo e a razÆo: ");<br />
scanf("%d %d", &a1, &Razao);<br />
printf("Progressao Aritmetica de primeiro termo %d e razao %d: \n%d ", a1, Razao, a1);<br />
for (i = 1; i