| Ver tema anterior :: Ver siguiente tema | | Autor | Mensaje |
|---|
Pinchuu
Registrado: 06 Nov 2011 Mensajes: 1
| Publicado: 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
| Publicado: 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 | |  | | |
| No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
| |