Red de conocimiento informático - Consumibles informáticos - La ubicación de las variables estáticas en el segmento de memoria.

La ubicación de las variables estáticas en el segmento de memoria.

La ubicación de almacenamiento de variables estáticas en la memoria es el área de datos globales.

En el campo de la programación informática, las variables estáticas se refieren a un tipo de variables para las cuales el sistema asigna estáticamente espacio de almacenamiento antes de que se ejecute el programa (es decir, la asignación no cambiará durante el tiempo de ejecución). Las variables estáticas asignan memoria en el área de datos globales, incluidas las variables locales estáticas que se mencionan más adelante. Para un programa completo, hay área de código, área de datos globales, área de montón y área de pila en la memoria.

Los datos dinámicos generados por un nuevo programa general se almacenan en el área del montón y las variables automáticas dentro de la función se almacenan en el área de la pila. Las variables automáticas generalmente liberan espacio cuando la función sale, y los datos estáticos (incluso las variables locales estáticas dentro de la función) también se almacenan en el área de datos globales. Los datos en el área de datos globales no liberarán espacio debido a la salida de la función.

Uso continuo de variables estáticas

Las variables estáticas también se pueden utilizar para almacenar constantes. Específicamente, las variables estáticas (las variables globales y los símbolos definidos en lenguaje ensamblador son los mismos) se pueden identificar con palabras clave como const, constante o final (según el lenguaje), y sus valores se establecerán en tiempo de compilación y en tiempo de ejecución. . no se puede cambiar.

Los compiladores generalmente colocan constantes estáticas y texto en el área de texto del archivo de objeto, mientras que los datos de inicialización no constantes se colocan en el área de datos y, si es necesario, algunos compiladores también pueden optar por abrirlos; un área especial para ellos; para evitar que las variables constantes se sobrescriban con escrituras incorrectas del puntero, el mecanismo de protección de la memoria también se puede habilitar en esta área.