Variáveis ​​estáticas em C

Variáveis ​​estáticas em C
C é uma linguagem muito flexível quando se trata de alocar diferentes variáveis ​​em uma função ou fora da função. Uma variável estática é uma daquelas variáveis ​​declaradas "estaticamente" em um programa. O valor inicial das variáveis ​​estáticas é zero. As variáveis ​​estáticas continuam a funcionar enquanto o programa é executado.

Sintaxe de variáveis ​​estáticas

A seguir foi a sintaxe básica da linguagem C para declarar uma "variável estática".

Ao definir a variável estática, também podemos definir seu estado inicial. A seguir, o método para inicializar um valor de variável estática na linguagem de programação chamada C.

Em todos os lugares em que seu escopo está presente, um valor variável constante pode ser reinicializado. A reinicialização do valor de uma variável estática é demonstrada no programa abaixo. Neste programa, primeiro incluímos o arquivo de cabeçalho "stdio" com a extensão ".H ”que é usado para exibir a entrada e a saída.

#incluir
int main ()

estático int x = 20;
x ++;
printf ("O valor de x é: %d \ n", x);
x = 0;
printf ("Após a reinicialização do valor x é: %d \ n", x);

Este é um exemplo básico e simples de variáveis ​​estáticas nas quais declaramos uma variável "x" do tipo de dados "int" com a palavra -chave estática, o que significa que a variável "x" manterá seu valor através de uma chamada de função. Inicializamos o valor "20" para a variável "x" e, em seguida, a operação incremental foi aplicada à variável para incrementar o valor de "x" por 1. E então imprima o valor de "x". Como você vê, usamos “\ n” na instrução PRIMF (), que significa quebrar uma linha ou imprimir a saída na nova linha. Depois disso, reinicializamos o valor da mesma variável "x", que é "0". Em seguida, imprimimos a string que foi escrita em aspas duplas.

Aqui está a saída da ilustração acima, onde o valor de "x" é "21" após a implementação da operação de incremento, mas temos outro valor do "x" que é "0" porque reinicalizamos a variável "X" na mesma função.

Grande uso para variáveis ​​estáticas

Nesta seção, discutiremos as variáveis ​​estáticas e as variáveis ​​globais. Qualquer variável declarada usada fora da função principal () é global. Uma variável estática é uma que foi declarada "estaticamente", o que indica que seu ciclo de vida ou extensão é a duração de toda a execução do programa. Como eles não estão ligados a uma função específica, qualquer método acessível pode ser usado para acessar e modificar variáveis ​​globais.

Usando a palavra -chave estática dentro de uma chamada de função: Se quisermos manter o mesmo valor para uma variável em cada chamada, podemos especificá -la como uma variável estática dentro da função. Sempre que a palavra-chave estática é usada dentro de um método, a reinicialização de um parâmetro em chamadas de função consecutiva é impedida (por exemplo, quando uma variável estática é criada e inicializada dentro de um método). Considere uma função que possui uma variável estática chamada "x" com um valor inicial de 20. O operador de incremento é usado pela função para aumentar o valor de "x" com cada chamada de método. O processo é descrito abaixo.

#incluir
função void ()

estático int x = 20;
x ++;
printf ("%d \ n", x);

int main ()

função();
função();
função();
função();
função();

A variável "x" começará com um valor de 20 quando esse método for usado pela primeira vez, e aumentará para um valor de 21 depois disso. O método imprimirá, portanto, 21, 22, 23, 24 e 25 porque chamamos a função 5 vezes na função principal (). Agora, o valor variável "x" não será redefinido para 20 se executarmos este método repetidamente. Com a incremento, isso deve obter valor de seu período anterior, ou seja, 21 e se tornará 22, e assim por diante. Portanto, o método imprimirá 22 desta vez e assim por diante até a última chamada de função.

Esta é a saída da ilustração acima compilada:

Declarando uma variável global usando uma variável estática: Parâmetros dinâmicos também podem ser declarados globalmente. Isso implica que um único parâmetro tem os benefícios de uma variável constante e global. Um estático e uma variável global os escopos diferem um do outro. Um parâmetro constante tem apenas uma extensão de bloqueio, enquanto uma variável global pode ser acessada a partir de qualquer ponto do programa. O programa que demonstra a maneira como é definido é o seguinte.

#incluir
estático int y = 10;
function void ()
estático int x = 20;
x ++;
printf ("A variável estática é: %d", x);

int main ()
y ++;
printf ("A variável global é: %d \ n", y);
função();

Neste exemplo, incluímos as informações necessárias sobre uma entrada de entrada através do nome do arquivo de cabeçalho “Stdio.H ", onde".H ”é a extensão do arquivo de cabeçalho. Em seguida, declaramos uma variável estática fora da função principal () que é o "y" do tipo de dados inteiro. O valor "10" é inicializado para a variável estática "y". Em seguida, temos um método chamado "function ()" que também será declarado globalmente fora da função principal (). Esta função () possui uma variável estática "x" do tipo de dados "int" com o valor de "20" e depois implementamos a operação de incremento para a variável "x". Depois disso, temos uma instrução printf () para imprimir a string conforme ela é escrita na função printf ().

Devemos invocar esta função depois de declarar globalmente a variável e a função (). Chegamos à seção principal () do programa C para invocar este método. Na função Main (), implementamos novamente uma operação de incremento, mas agora na variável "y" e imprimimos a string da variável global. Então chamamos a função chamada "function ()" que foi declarada globalmente.

Aqui está a saída da ilustração da variável global. Primeiro, o compilador executará a variável global "Y" porque foi declarada primeiro no programa; Após a implementação da operação de incremento, a variável "y" se tornará "11", e então a função é chamada, que é "function ()" e a variável estática é impressa.

Conclusão

Aprendemos como reinicializar a variável estática na mesma função através de um exemplo simples. Depois, também discutimos como declarar a variável globalmente e como escrever a função fora do corpo principal () e depois como chamar a função através de diferentes exemplos. Espero que este tutorial seja benéfico para você ao aprender sobre variáveis ​​estáticas na linguagem de programação C C.