0 evaluări0% au considerat acest document util (0 voturi)
339 vizualizări3 pagini
Existen dos tipos de datos en los programas procedimentales como C: datos locales y datos globales. Los datos locales son visibles sólo dentro de la función donde se declaran y protegidos de modificaciones externas, mientras que los datos globales pueden ser accedidos y modificados por cualquier función. El uso de variables globales no es recomendable debido a problemas de legibilidad, acoplamiento y errores.
Existen dos tipos de datos en los programas procedimentales como C: datos locales y datos globales. Los datos locales son visibles sólo dentro de la función donde se declaran y protegidos de modificaciones externas, mientras que los datos globales pueden ser accedidos y modificados por cualquier función. El uso de variables globales no es recomendable debido a problemas de legibilidad, acoplamiento y errores.
Existen dos tipos de datos en los programas procedimentales como C: datos locales y datos globales. Los datos locales son visibles sólo dentro de la función donde se declaran y protegidos de modificaciones externas, mientras que los datos globales pueden ser accedidos y modificados por cualquier función. El uso de variables globales no es recomendable debido a problemas de legibilidad, acoplamiento y errores.
En un programa procedimental (que es un conjunto de
instrucciones y sentencias) por ejemplo en c , existen dos tipos de datos. Las reglas de mbito de un lenguaje son las reglas que controlan si un fragmento de cdigo conoce o tiene acceso a otro fragmento de cdigo o de datos. Datos locales que son ocultos de la funcin y son utilizados, exclusivamente por la funcin. Estos datos locales estn estrechamente relacionados con sus funciones y estn protegidos de modificaciones por otras funciones Una variable local es aquella cuyo mbito se restringe a la funcin que la ha declarado se dice entonces que la variable es local a esa funcin. Esto implica que esa variable slo va a poder ser manipulada en dicha seccin, y no se podr hacer referencia fuera de dicha seccin. Cualquier variable que se defina dentro de las llaves del cuerpo de una funcin se interpreta como una variable local a esa funcin. Cuando una variable x es local a una funcin func1, significa que la funcin func1 es la propietaria de dicha variable, y puede acceder a ella y modificarla. Si cualquier otra funcin del programa necesita conocer el valor de la variable x, es la funcin func1 la que debe transferir el valor de x a travs del paso de argumentos en la llamada a la funcin. Si adems esta funcin desea modificar el valor de dicha variable, entonces tendr que devolver el nuevo valor a func1, y ser func1 quien se encargue de asignar el valor devuelto a su variable x. El argumento formal (los veremos en la siguiente seccin) mbito de un argumento formal es el mismo que el de una variable local; el argumento formal definido en la cabecera de una funcin slo podr ser accedido dentro del cuerpo de dicha funcin, y no en otros lugares del programa.
Ejemplo: Se muestra la diferencia entre las variables
locales y globales, con la consiguiente diferenciacin en los mbitos que abarcan:
Una variable global es aquella que se define fuera del
cuerpo de cualquier funcin, normalmente al principio del programa, despus de la definicin de los archivos de biblioteca (#include), de la definicin de constantes simblicas y antes de cualquier funcin. El mbito de una variable global son todas las funciones que componen el programa, cualquier funcin puede acceder a dichas variables para leer y escribir en ellas. Es decir, se puede hacer referencia a su direccin de memoria en cualquier parde del programa. El uso de variables globales no es aconsejable a pesar de que aparentemente nos parezca muy til, esto se debe a varias razones fundamentales: Legibilidad menor. Nos condiciona en muchos casos que el programa slo sirvapara un conjunto de casos determinados. El uso indiscriminado de variables globales produce efectos colaterales. Esto sucede cuando existe una alteracin no deseada del contenido de una variable global dentro de una funcin, bien por invocacin, bien
por olvidar definir en la funcin una variable local o un
parmetro formal con ese nombre. La correccin de dichos errores puede ser muy ardua. Atenta contra uno de los principios de la programacin, la modularidad. El bajo acoplamiento supone no compartir espacios de memoria con otras funciones, y potenciar el paso de informacin (llamadas) para que la funcin trate la informacin localmente. Las variables declaradas dentro de una funcin son automticas por defecto, es decir, slo existen mientras se ejecuta la funcin. Cuando se invoca la funcin se crean estas variables en la pila y se destruyen cuando la funcin termina. La nica excepcin la constituyen las variables locales declaradas como estticas ( static ). En este caso, la variable mantiene su valor entre cada dos llamadas a la funcin an cuando su visibilidad sigue siendo local a la funcin. Una funcin siempre es conocida por todo el programa, excepto cuando se declara como esttica, en cuyo caso slo la podrn utilizar las funciones del mismo mdulo de compilacin. En C, todas las funciones estn al mismo nivel de mbito. Es decir, no se puede definir una funcin dentro de otra funcin. Esto es por lo que C no es tcnicamente un lenguaje estructurado en bloques. Tambin puede suceder que en un mismo mbito aparezcan variables locales y globales con el mismo nombre. Cuando sucede esta situacin, siempre son las variables locales y argumentos formales los que tienen prioridad sobre las globales. Para ver reflejado todo esto ms grficamente se muestra un ejemplo a continuacin: