22.10.2014 Views

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

Aprendendo a Programar Programando em Linguagem C - FSM

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!