0 calificaciones0% encontró este documento útil (0 votos)
9 vistas2 páginas
Una variable estática mantiene su valor entre llamadas a una función, a diferencia de una variable local que se reinicializa cada vez. Las variables estáticas se almacenan en la memoria data en lugar del stack y pueden accederse solo dentro del archivo donde se declaran. Cualquier variable puede declararse estática para limitar su ámbito.
Una variable estática mantiene su valor entre llamadas a una función, a diferencia de una variable local que se reinicializa cada vez. Las variables estáticas se almacenan en la memoria data en lugar del stack y pueden accederse solo dentro del archivo donde se declaran. Cualquier variable puede declararse estática para limitar su ámbito.
Una variable estática mantiene su valor entre llamadas a una función, a diferencia de una variable local que se reinicializa cada vez. Las variables estáticas se almacenan en la memoria data en lugar del stack y pueden accederse solo dentro del archivo donde se declaran. Cualquier variable puede declararse estática para limitar su ámbito.
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