Aulas de armazenamento em C

Aulas de armazenamento em C
As aulas de armazenamento são um tópico muito importante em C. Se desenvolvemos nosso conceito em C, especialmente sobre a vida e o escopo de qualquer variável, devemos saber sobre aulas de armazenamento em C. Na arquitetura baseada em DOS ou arquitetura de 16 bits, como o Turbo C ++ 3. 0, é preciso a memória de 2 bytes. Mas em arquitetura de 32 ou 64 bits, como o Dev C ++, os blocos de código e os números inteiros tomam a memória de 4 bytes.

Três propriedades de variáveis

  1. Nome da variável.
  2. Tamanho do bloco de memória.
  3. Tipo de conteúdo.

Outras propriedades da variável

Valor padrão, escopo, vida, armazenamento.

Valor padrão: Se não inicializarmos nenhum valor para uma variável no momento da declaração variável, qual é o valor da variável x? Então o valor de x é chamado de valor padrão, que é outra característica da variável.

Armazenar: O armazenamento significa onde a memória é alocada para uma variável, seja RAM ou no registro da CPU.

Escopo: As limitações ou áreas onde podemos acessar uma variável

Vida: A extensão entre criar e destruir uma variável é chamada de vida. Essas 4 propriedades que podemos realizar no momento da declaração de uma variável.

Existem 4 tipos de classes de armazenamento na declaração de declaração.

  1. Automático
  2. Registro
  3. Estático
  4. Externo
Classe de armazenamento Palavra -chave Valor padrão Armazenar Escopo Vida
1. Automático auto Lixo BATER Limitado aos blocos onde é declarado Até a execução do bloco em que é declarado
2. Registro registro Lixo registro mesmo mesmo
3. Estático estático 0 (zero) BATER Mesmo Até o final do programa
4. Extern extern 0 (zero) BATER Global mesmo

Programa de classe de armazenamento automático

Exemplo de programação1

#incluir
int main ()

// variável automática por padrão;
int x = 5;
printf ("%d \ n", x);

int x = 2;
printf ("%d \ n", x);

printf ("%d \ n", x);
retornar 0;

Saída

Explicação

Com o símbolo de seta, podemos escrever uma palavra -chave automática para tornar a variável automática. Se não escrevermos nada lá, a variável é um tipo automático (por padrão). A regra é dar maior prioridade à variável local se o nome de duas variáveis ​​dentro da função for o mesmo.

Programa de classe de armazenamento de registro

Exemplo de programação 2

#incluir
int main ()

// Palavra -chave do registro é usada;
registro int x = 4;
int y;
y = x ++;
x--;
y = x+5;
printf (" %d %d", x, y);
retornar 0;

Saída

Explicação

Se em um programa, algumas variáveis ​​são usadas repetidamente, nesse caso, armazenamos a variável x dentro de um registro da CPU em vez de RAM. Reduz o tempo de processamento do nosso programa, mas é aplicável apenas int e char significa pequeno memória preto. Se o registro não estiver disponível, converte automaticamente a classe de armazenamento de registro em uma aula de automóveis.

Programa de classe de armazenamento estático

Exemplo de programação 3

#incluir
void f1 ();
int main ()

f1 ();
f1 ();
retornar 0;

Void F1 ()

int i = 0;
i ++;
printf ("i =%d \ n", i);

Saída

Explicação

Aqui obtemos resultado dois 1 porque declaramos a variável por padrão automático.

Exemplo de programação 4

#incluir
void f1 ();
int main ()

f1 ();
f1 ();
retornar 0;

Void F1 ()

// variável estática é declarada;
estático int i = 0;
i ++;
printf ("i =%d \ n", i);

Saída

Explicação

Como é uma variável estática, essa variável não é destruída do corpo de F1. Então, quando F1 () é chamado 2ª vez, a saída será 2.

Classe de armazenamento externo

Exemplo de programação 5

#incluir
int x;
int main ()

// extern é declarado;
extern int x;
printf ("x =%d", x);
vazio F1 (vazio);
f1 ();
printf ("x =%d", x);
retornar 0;

Void F1 ()

x ++;
printf ("x =%d", x);

Saída

Explicação

Como é uma variável global, a variável é acessível de qualquer lugar do programa, e sua vida é ao longo do programa.1st printf () Função Imprima o valor de x = 0, como é o valor padrão = 0, então f1 () está chamando, então x é incrementado para 1 e imprima o valor 1. Em seguida, o controle vai novamente para a função principal () após f1 () e imprime o valor de x novamente 1.

Exemplo de programação 6

#incluir
int x;
void f1 ();
int main ()

extern int x;
printf ("x =%d \ n", x);
f1 ();
printf ("x =%d \ n", x);
retornar 0;

Void F1 ()

int x = 5;
x ++;
printf ("x =%d \ n", x);

Saída

Explicação

Como a variável x na função f1 () é uma variável automática, ela é acessível apenas no F1 ().Portanto, aqui printf () Função Imprima o valor de x = 5, mas na função main (), x a é tratado como variável externa, porque x é declarado como global. Então, ele imprime o valor de x = 0.

Onde declaramos a palavra -chave externa?

Uma variável externa é declarada fora de qualquer função. Mas é indicado que a variável é externa dentro da função principal, como mostrado neste exemplo, ou é indicado em qualquer lugar do programa.

Conclusão

A partir do conceito mencionado acima das classes de armazenamento de idiomas C, fica claro ao leitor que sempre que gerenciamos dados por meio de software, precisamos de algum espaço de variável ou armazenamento para armazenar os dados. Agora temos uma ideia clara deste artigo sobre como os dados devem ser armazenados em uma variável.