La Red de Conocimientos Pedagógicos - Currículum vitae - En lenguaje C, ¿cuál es la diferencia entre variables globales y variables externas?

En lenguaje C, ¿cuál es la diferencia entre variables globales y variables externas?

Las variables globales también se denominan variables externas, que son variables definidas fuera de la función. No pertenece a una función, pertenece a un archivo de programa fuente.

El alcance es todo el programa fuente. Cuando se utilizan variables globales en una función, generalmente se debe hacer una descripción de la variable global. Sólo se pueden utilizar variables globales declaradas dentro de una función.

El especificador de variables globales es externo. Sin embargo, las variables globales definidas antes de una función se pueden usar dentro de la función sin más explicaciones. Las variables externas son variables globales definidas fuera de la función. Su alcance comienza desde la definición de la variable hasta el final del archivo del programa.

En este ámbito, varias funciones pueden hacer referencia a las variables globales. Las variables externas se asignan en almacenamiento estático durante la compilación. A veces es necesario utilizar extern para declarar variables externas en otros archivos para ampliar el alcance de las variables externas.

También puede utilizar estática para declarar variables externas de modo que otros archivos no puedan hacer referencia a ellas. A veces son iguales, con sólo ligeras diferencias, por lo que no es necesario distinguirlos demasiado.