Análisis de los puntos de prueba del lenguaje C para el examen informático de nivel 2 en marzo de 2018: alcance y clase de almacenamiento de identificadores de usuario
12.1 Variables locales y variables globales
Variables definidas en funciones o declaraciones compuestas llamadas variables locales. Los parámetros de función son variables locales. Las variables definidas fuera de una función se denominan variables globales. A veces, las variables locales también se denominan variables internas y las variables globales también se denominan variables externas.
12.2 Atributos de almacenamiento de variables (automático, estático, de registro, externo), alcance y vida útil de las variables.
Hay cuatro palabras clave en el lenguaje C para describir los atributos de almacenamiento de las variables: auto (automático), static (estático), registro (registro) y extern (externo).
1. Atributos de almacenamiento de las variables locales
Las variables locales pueden ser categorías automáticas (descritas por auto, registro) o categorías estáticas (descritas por static). Este parámetro solo puede ser una categoría de almacenamiento automático, no una categoría estática.
Cuando una variable local no especifica una categoría, se describe automáticamente como una variable automática. Estas variables locales se denominan variables automáticas. Su valor se almacena en el área de almacenamiento dinámico de la memoria, por lo que después de salir del alcance, la variable se libera automáticamente y su valor no se retiene.
Cuando una variable local se describe como un registro, pertenece a la categoría automática como una variable automática, pero la diferencia es que el valor de la variable se almacena en un registro en la CPU.
Cuando una variable se describe como estática, se denomina variable local estática. Mientras el programa se ejecuta, ocupa una unidad de almacenamiento permanente y el valor de la variable permanece sin cambios después de que sale la función.
2. Atributos de almacenamiento de las variables globales
Las variables globales pertenecen a la categoría de almacenamiento estático y pueden describirse como externas y estáticas.
Extern se puede utilizar cuando desea hacer referencia a una variable global en otro archivo en un archivo, o antes de definir la variable global. Equivale a ampliar el alcance de las variables globales.
Las variables globales descritas con static se denominan variables globales estáticas y solo pueden ser referenciadas por este archivo. No se pueden usar incluso si se describen con extern en su archivo, lo que equivale a limitar la expansión del. alcance de las variables globales.
12.3 Funciones internas y externas
1. En lenguaje C, todas las funciones son esencialmente funciones externas.
2. Usar extern para explicar una función se llama función externa. Las funciones se clasifican implícitamente como funciones externas y se pueden llamar desde otros archivos.
3. Al definir una función, utilice una explicación estática. Se llama función estática, también llamada función interna. Las funciones estáticas también son funciones externas, pero están limitadas al archivo en el que se encuentran y no pueden ser invocadas por otros archivos.