¿Qué es una variable estática?

Además de las variables locales y globales, nos podemos encontrar con las variables estáticas. Una variable estática es aquella capaz de preservar su valor incluso cuando se ha salido del ámbito al que pertenece. Es decir, al salir de una función, la variable estática mantiene su valor para que cuando se vuelva a llamar a dicha función se pueda acceder al valor que tenía antes de salir (en lugar de ser nuevamente inicializada como ocurriría con una variable local).

Entre las principales características de las variables estáticas, podemos destacar:

  • El valor de una variable estática es almacenado en memoria durante toda la ejecución del programa.
  • Las variables estáticas se almacenan en la memoria en el segmento data, no en el stack.
  • Se inicializan a 0 por defecto en caso de no recibir ningún valor.
  • Existen variables globales estáticas, pero estas se utilizan para limitar el ámbito de una variable o función al archivo en el que se declaran (por lo que no es lo mismo que una variable estática dentro de una función).
  • El valor de una variable estática no debe ser almacenado dentro de un struct, porque todos los datos de un struct se almacenarán en el mismo segmento de memoria. Como hemos visto, el valor de una variable estática se almacena en un segmento diferente al stack.
Variable estática uso

Para seguir aprendiendo…

Wikipedia: Variable estática

StackOverflow: ¿Para qué sirve static en C?

TrucosInformaticos: ¿Cómo usar static en C y C++?

Anuncio publicitario

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: