Variables estáticas en C

 

 

 

Cómo trabajar con variables estáticas en C

Dentro de una función, puedes inicializar una variable estática usando la staticpalabra clave.

Dije “dentro de una función”, porque las variables globales son estáticas por defecto, por lo que no es necesario agregar la palabra clave.

¿Qué es una variable estática? Una variable estática se inicializa en 0 si no se especifica ningún valor inicial y conserva el valor en todas las llamadas de función.

Considere esta función:

int incrementAge() { int age = 0; age++; return age;}

Si lo llamamos incrementAge()una vez, obtendremos 1como valor de retorno. Si lo llamamos más de una vez, siempre obtendremos 1, porque agees una variable local y se reinicializa en 0cada llamada de función.

 

Si cambiamos la función a:

int incrementAge() { static int age = 0; age++; return age;}

Ahora, cada vez que llamamos a esta función, obtendremos un valor incrementado:

printf("%dn", incrementAge());printf("%dn", incrementAge());printf("%dn", incrementAge());

nos daráTe recomendamos Olla express a presion

123

También podemos omitir la inicialización agea 0 en static int age = 0;, y solo escribir static int age;porque las variables estáticas se establecieron automáticamente a 0 cuando se crean.

También podemos tener matrices estáticas. En este caso, cada elemento de la matriz se inicializa a 0:

int incrementAge() { static int ages[3]; ages[0]++; return ages[0];}

Tips C




Tal vez te puede interesar:

  1. Introducción a React
  2. Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
  3. Cómo cambiar el valor de un nodo DOM
  4. Cómo comprobar si un elemento DOM tiene una clase

Variables estáticas en C

Dentro de una función, puedes inicializar una variable estática usando la staticpalabra clave. Cómo trabajar con variables estáticas en C Cómo trabajar co

programar

es

2025-01-06

 

Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente

 

 

Update cookies preferences