/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

Problemas utilización variables globales

 
      Índice del Foro elrincondelc.com -> C/C++ en General
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Pinchuu



Registrado: 06 Nov 2011
Mensajes: 1

MensajePublicado: 06/11/2011 8:40 am
Título: Problemas utilización variables globales

Hola a todos/as,

Tengo entendido que el uso de variables globales en determinadas ocasiones puede causar problemas (palabras de mi profesor de la carrera), pero no entiendo en qué situaciones pueden generarse estos problemas ni qué problemas. Por lo tanto mi pregunta es esa:

- En qué situaciones pueden causar problemas las variables globales?

- Qué problemas provocan?

Saludos y espero que sea de utilidad el tema que estoy abriendo.
Volver arriba
rir3760



Registrado: 01 Oct 2004
Mensajes: 6586
Ubicación: Mexico

MensajePublicado: 06/11/2011 9:18 am
Título: Re: Problemas utilización variables globales

El problema principal con el uso del termino "global" es que este tipo de variables no existen en C. Cuando se refieren a ellas en C lo hacen en relación a una variable con una combinación de atributos: ámbito/alcance de archivo y vinculación interna/externa. Dependiendo de la combinación de esos atributos se pueden presentar varios problemas.

Para empezar hay algunas discusiones sobre el tema, si quieres revisarlas puedes utilizar el motor de búsqueda de los foros para encontrar los temas relacionados con programación dinámica o atributos de los objetos.

El mayor inconveniente es el posible conflicto de nombres (error lógico) entre:
A) Una variable con alcance de bloque (block scope) y una con alcance de archivo (file scope).
B) Una variable con vinculación interna (internal linkage) y una con vinculación externa (external linkage).

Ambos casos son permitidos y por ello el compilador no tiene porque generar un mensaje. De nuevo se trata de un error lógico.

También se presentan problemas de mantenimiento. Por ejemplo si tienes un conjunto de funciones en un archivo y quieres separarlo en varios hay que tener en cuenta como manejar su dependencia a las variables globales (en castellano mas trabajo), si no fuera así basta con realizar la separación física (junto con los respectivos archivos de inclusión, por supuesto).

Un saludo
_________________
Memory never recaptures reality. Memory reconstructs. All reconstructions change the original, becoming external frames of reference that inevitably fall short.
--
Mentat Handbook
Volver arriba
      Índice del Foro elrincondelc.com -> C/C++ en General
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com