Como fazer Variáveis ​​estáticas em C Programming

Na programação C, variáveis ​​utilizadas dentro de uma função são local para essa função: Seus valores são usados ​​e, em seguida, descartados quando a função é feito. Não me dê Não Estático demonstra o conceito.

NÃO DÊ-ME NO ESTÁTICO

#include vazio proc (void) main () {-int puts ( "primeira chamada") - proc () - puts ( "Second chamada") - proc () - retorno (0) -} vazio proc (void) {int a-printf ( "O valor da variável a é% d n", a) -printf ( "Enter um novo valor:") -scanf ( "% d", a) -}

Em Do not Give Me No Estático, variável uma na função proc () não manter o seu valor. A variável é inicializada apenas pela função scanf () na Linha 20. Caso contrário, a variável contém informações lixo.

USANDO typedef Para definir uma estrutura

typedef struct {char id primeira [20] -char última [20] -} personal-typedef data struct {int mês-int dia-int ano-} humana {aniversário pessoal name-calendário -} calendário-estrutura -

Exercício 1: Criar e executar um novo projeto usando o código fonte a partir de Utilização typedef para definir uma estrutura.

Ele saída parecida com esta:

primeiro valor callThe da variável A é 0Enter um novo valor: valor 6Second callThe da variável A é 0Enter um novo valor: 6

Apesar de todas as tentativas de atribuir 6 a variável uma, o programa sempre se esquece. Tanto para isso. Ou é?

Exercício 2: Modificar o código fonte a partir de Utilização typedef para definir uma estrutura, edição de linha de 16 para ler:

static int a-

Criar e executar para testar a saída.

primeiro valor callThe da variável A é 0Enter um novo valor: valor 6Second callThe da variável A é 6Enter um novo valor: 5

Como a variável foi declarada como estática, o seu valor é retido entre chamadas de função.

  • Você não tem nenhuma necessidade de declarar variáveis ​​como estático, a menos que você precisa seus valores retidos cada vez que a função é chamada, e esta situação surge de tempos em tempos. Mas antes acreditando ser uma cura mágica, também considerar a criação de variáveis ​​globais.

  • Variáveis ​​retornado de uma função não precisa ser declarado estático. Quando você retornar uma variável, como

    retornar (a) -

    apenas o valor da variável é devolvido, e não a própria variável.

menu