Variables estáticas en C

Variables estáticas en C
C es un lenguaje muy flexible cuando se trata de asignar diferentes variables en una función o fuera de la función. Una variable estática es una de esas variables que se declaran "estáticamente" en un programa. El valor inicial de las variables estáticas es cero. Las variables estáticas continúan funcionando mientras el programa se ejecuta.

Sintaxis de variables estáticas

El siguiente ha sido la sintaxis básica del lenguaje C para declarar una "variable estática".

Al definir la variable estática, también podemos establecer su estado inicial. El siguiente es el método para inicializar un valor variable estática en el lenguaje de programación llamado C.

En todas partes que su alcance está presente, se puede reinicializar un valor variable constante. La reinicialización del valor de una variable estática se demuestra en el programa a continuación. En este programa, primero incluimos el archivo de encabezado "stdio" con la extensión ".h "que se usa para mostrar la entrada y la salida.

#incluir
int main ()

INTAT SSTÁTICO X = 20;
x ++;
printf ("El valor de x es: %d \ n", x);
x = 0;
printf ("Después de la reinicialización del valor x es: %d \ n", x);

Este es un ejemplo básico y simple de variables estáticas donde hemos declarado una variable "x" del tipo de datos "int" con la palabra clave estática, lo que significa que la variable "x" mantendrá su valor a través de una llamada de función. Hemos inicializado el valor "20" a la variable "x", y luego la operación incremental se ha aplicado a la variable para incrementar el valor de "x" en 1. E imprima el valor de "x". Como puede ver, hemos usado "\ n" en la instrucción printf (), lo que significa romper una línea o imprimir la salida en la nueva línea. Después de esto, hemos reinicializado el valor a la misma variable "x", que es "0". Luego imprimemos la cadena que fue escrita en comillas dobles.

Aquí está el resultado de la ilustración anterior donde el valor de "x" es "21" después de la implementación de la operación de incremento, pero tenemos otro valor de "x" que es "0" porque hemos reinicializado la variable "X" en la misma función.

Uso importante para variables estáticas

En esta sección, discutiremos las variables estáticas y las variables globales. Cualquier variable declarada que se use fuera de la función principal () es global. Una variable estática es una que fue declarada "estáticamente", lo que indica que su ciclo de vida o extensión es la duración de toda la ejecución del programa. Dado que no están vinculados a una función específica, se puede utilizar ningún método accesible para acceder y modificar variables globales.

Uso de la palabra clave estática dentro de una llamada de función: Si queremos mantener el mismo valor para una variable en cada llamada, podemos especificarla como una variable estática dentro de la función. Siempre que la palabra clave estática se haya utilizado dentro de un método, se evita la reinicialización de un parámetro en llamadas de funciones consecutivas (por ejemplo, cuando se crea e inicializa una variable estática dentro de un método). Considere una función que tiene una variable estática llamada "X" con un valor inicial de 20. La función utiliza el operador de incremento para elevar el valor de "x" con cada llamada de método. El proceso se describe a continuación.

#incluir
función vacía ()

INTAT SSTÁTICO X = 20;
x ++;
printf ("%d \ n", x);

int main ()

función();
función();
función();
función();
función();

La variable "x" comenzará con un valor de 20 cuando este método se use por primera vez, y aumentará a un valor de 21 después de eso. Por lo tanto, el método imprimirá 21, 22, 23, 24 y 25 porque llamamos a la función 5 veces en la función principal (). Ahora, el valor variable "x" no se restablecerá a 20 si ejecutamos este método repetidamente. Con la incrementación, esto debería ganar valor de su tramo anterior, es decir, 21, y convertirse en 22, y así sucesivamente. Por lo tanto, el método imprimirá 22 esta vez, etc. hasta la última llamada de función.

Esta es la salida de la ilustración compilada anteriormente:

Declarando una variable global que utiliza una variable estática: Los parámetros dinámicos también se pueden declarar a nivel mundial. Esto implica que un solo parámetro tiene los beneficios de una variable constante y global. Los ámbitos de una variable estática y global difieren entre sí. Un parámetro constante solo tiene un tramo de bloqueo, mientras que se puede acceder a una variable global desde cualquier punto del programa. El programa que demuestra la forma en que se define es el siguiente.

#incluir
static int y = 10;
función vacía ()
INTAT SSTÁTICO X = 20;
x ++;
printf ("La variable estática es: %d", x);

int main ()
y ++;
printf ("La variable global es: %d \ n", y);
función();

En este ejemplo, hemos incluido la información necesaria sobre una entrada-salida a través del nombre del archivo del encabezado "STDIO.h ", donde".H ”es la extensión del archivo de encabezado. Luego, declaramos una variable estática fuera de la función Main () que es la "y" del tipo de datos entero. El valor "10" se inicializa a la variable estática "Y". Luego tenemos un método llamado "function ()" que también se declarará globalmente fuera de la función main (). Esta función () tiene una variable estática "x" del tipo de datos "INT" con el valor de "20", y luego hemos implementado la operación de incremento a la variable "x". Después de eso, tenemos una instrucción printf () para imprimir la cadena tal como está escrita en la función printf ().

Debemos invocar esta función después de declarar globalmente la variable y la función (). Hemos llegado a la sección principal () del programa C para invocar este método. En la función main (), hemos implementado nuevamente una operación de incremento pero ahora en la variable "y" e imprime la cadena de la variable global. Luego hemos llamado la función llamada "function ()" que se declaró a nivel mundial.

Aquí está el resultado de la ilustración variable global. Primero, el compilador ejecutará la variable global "Y" porque se declaró primero en el programa; Después de la implementación de la operación de incremento, la variable "y" se convertirá en "11", y luego se llama la función, que es "function ()" y la variable estática se imprime.

Conclusión

Hemos aprendido a reinicializar la variable estática en la misma función a través de un ejemplo simple. Luego también discutimos cómo declarar la variable a nivel mundial y cómo escribir la función fuera del cuerpo principal (), y luego cómo devolver la llamada a la función a través de diferentes ejemplos. Espero que este tutorial sea beneficioso para usted mientras aprende sobre las variables estáticas en el lenguaje de programación C.