[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Re: Static
- Subject: Re: Static
- From: Fabio Braga de Oliveira <fbdo@linux.ime.usp.br>
- Date: Sun, 25 Mar 2001 21:42:23 -0300
Andrew, nenhuma dúvida é simples... Legal vc postar as suas na lista...
Vou tentar dar minha explicação, espero que ajude....
Há dois tipos de variáveis do tipo static, a local static e a global
static...
1 - Local static
Uma variável local static é uma variável local que retém seu valor
entre chamadas de função. Por exemplo:
series(void) {
static int num = 23;
printf("%d\n", num);
num++;
}
int main(void) {
series();
series();
series();
}
A saída do exemplo:
23
24
25
Como deu pra perceber(espero...;-)) a variável 'num' dentro da função
'series()' manteve seu valor entre chamadas da função, o que não
aconteceria com uma variavel local comum.
2 - Global static
Aplicar o especificador static a uma variável global informa ao
compilador para criar uma variável global que é reconhecida apenas no
arquivo em que foi declarada. Assim, mesmo sendo global, rotinas em
outros arquivos não poderão acessá-la nem mudar seu conteúdo.
Exemplo: O arquivo ST.c que o professor disponibilizou em sua página tem
vários exemplos, é só dar uma olhada.....
Boa sorte
Andrew wrote:
> Dúvida simples(pra mim não, ehhehe....)! O que acontece quando eu declaro
> algo como static, por exemplo, dentro do item.c?
> Brigadão!
> Abraços,
> Andrew.....
>
>
>
>