Está en la página 1de 2

Resumen sobre 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).

Características:

 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.
 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.

Cualquier declaración de una variable puede tener el prefijo “static”.

Propiedades de las variables estáticas en C:

 No pueden ser accedidas desde otro fichero. Por tanto, los


prefijos “extern” y “static” no pueden ser utilizados en la misma declaración.
 Mantienen su valor a lo largo de toda la ejecución del programa
independientemente del ámbito en el que estén definidas.

Consecuencias de las propiedades:

 Si una variable estática está declarada fuera de las funciones, será


accessible únicamente por el código que le siga en el mismo fichero de
su declaración.
 Si una variable estática está declarada en una función, sólo será
accesible desde esa función y mantendrá su valor entre ejecuciones de
la función.

Ejemplo:
Fuentes:

 Rena, F. Manual de Programación en C para principiantes y


avanzados
 https://es.wikipedia.org/wiki/C_(lenguaje_de_programación)
 http://www.dc.fi.udc.es/~so-grado/current/Varios/CursoC.pdf
 http://www.monografias.com/trabajos4/lenguajec/lenguajec.shtml
 http://www.ecured.cu/index.php/Lenguaje_de_Programación_C

También podría gustarte