Variable externa

Variable externa

Una variable externa es, en los lenguajes de programación C y C++, una variable declarada con la palabra clave extern.

Contenido

Campo de aplicación

Dependiendo del contexto, el término puede adquirir dos significados diferentes. Cuando se hace uso del término para la declaración de una variable, extern hace saber al compilador que la variable se va a encontrar en la tabla de símbolos de otra unidad. Se utiliza para exponer variables pertenecientes a un archivo a uno o varios archivos adicionales. La declaración externa no es traducida por el compilador sino por el enlazador, con ello extern es un mecanismo válido para instalar modularidad a nivel del compilador.

Cuando se utiliza el término para la instanciación de una variable, extern traslada la variable a la tabla de símbolos de la unidad de traducción de forma que el símbolo pueda ser referenciado desde otras unidades. Para ello tiene que haber una implementación de la variable marcada como extern en otro sitio (normalmente en el archivo header).

Dos usos importantes de la externacionalización son: evitar referencias circulares (del estilo de declaraciones en secciones en lenguajes como Pascal) y evitar cadenas de dependencias compiladas.

Las variables externas pueden declararse al margen de los bloques de funciones en un archivo de código fuente de igual forma que se declara cualquier otra variable: especificando su tipo y su nombre. No se usa ningún especificador de clase de almacenamiento, la posición de la declaración dentro del archivo indica la clase de almacenamiento externo. La memoria para estas variables se asigna cuando el programa comienza a ser ejecutado y permanece asignado hasta la terminación del mismo. Para la mayoría de implementaciones en C, cada byte de memoria asignado para una variable externa es inicializado a cero.

El ámbito de variables externas es global, es decir, todo el código fuente en el archivo después de las declaraciones. Todas las funciones que siguen a la declaración pueden acceder a la variable externa usando su nombre. Sin embargo, si se declara una variable local con el mismo nombre, las referencias al nombre acceden a la célula de la variable local.

Ejemplo (C)

Archivo 1:

  int VariableGlobal; // definición
  void UnaFunción (void); // declaración externa implícita
 
  int main() {
    VariableGlobal= 1;
    UnaFunción ();
    return 0;
  }

Archivo 2:

  extern int VariableGlobal;  // declaración externa
 
  void UnaFunción (void) {   
    ++ VariableGlobal;
  }

En este ejemplo la variable VariableGlobal es definida en el archivo 1. Para utilizar la misma variable en el archivo 2, tiene que ser declarada usando el keyword extern. Independientemente de la cantidad de archivos, una variable global solo se define una vez, sin embargo, tiene que ser declarada usando extern en cualquier archivo aparte de aquel que contiene la definición. Técnicamente, UnaFunción es también externa, pero en C y en C++ todas las funciones son consideradas externas por defecto y normalmente no necesitan ser declaradas.

Referencias

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужна курсовая?

Mira otros diccionarios:

  • Variable global — Una variable global es, en informática, una variable accesible en todos los ámbitos de un programa informático. Los mecanismos de interacción con variables globales se denominan mecanismos de entorno global. El concepto de entorno global… …   Wikipedia Español

  • Variable estática — En informática una variable estática es una variable cuyo valor no varía durante la vida del proceso en ejecución. Normalmente una variable estática tiene un ámbito más amplio que otras variables. Los valores de variables estáticas se pueden… …   Wikipedia Español

  • Deuda externa ecuatoriana — Saltar a navegación, búsqueda Los problemas derivados de la deuda externa han sido los componentes principales de la historia nacional para muchos pueblos y también para el Ecuador, el manejo corrupto, en muchos casos, de las negociaciones y de… …   Wikipedia Español

  • Historia externa del euskera — Existen desacuerdos sobre la neutralidad en el punto de vista de la versión actual de este artículo o sección. En la página de discusión puedes consultar el debate al respecto. Artículo principal: Historia del euskera La historia externa del… …   Wikipedia Español

  • carga variable — f Carga externa movible sobre una estructura que incluye el peso de la misma junto con el mobiliario, equipamiento, personas, etc., que actъa verticalmente, por tanto no incluye la carga eуlica. Tambiйn llamada carga viva …   Diccionario de Construcción y Arquitectur

  • crista occipitalis externa — [TA] external occipital crest: a variable crest of bone that sometimes extends from the external occipital protuberance toward the foramen magnum; called also median or middle nuchal line …   Medical dictionary

  • Distribución normal — Saltar a navegación, búsqueda Distribución normal Función de densidad de probabilidad La línea verde corresponde a la distribución normal estandar Función de distribución de probabilidad …   Wikipedia Español

  • Confusión — puede referirse a: Confusión (psicología), disminución de la actividad de la consciencia. Confusión (derecho), situación jurídica que se da cuando se encuentran en una sola persona la situación de obligado y de deudor. Confusión (estadística),… …   Wikipedia Español

  • Equilibrio de manchas solares — Saltar a navegación, búsqueda En economía, se conoce como equilibrio de manchas solares (más frecuentemente por su nombre inglés, sunspot equilibrium) al alcanzado en aquellas situaciones en las que la economía puede llegar a distintos… …   Wikipedia Español

  • Flor — Para otros usos de este término, véase Flor (desambiguación). Partes de la flor …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”