variables
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previa | |||
variables [2014/03/25 12:50] – [variables automáticas] lmateu | variables [2014/08/06 16:20] (actual) – lmateu | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ===== Variables ===== | + | ====== Variables |
Supongamos que se declara la variable x como se muestra en la figura de abajo a la izquierda. | Supongamos que se declara la variable x como se muestra en la figura de abajo a la izquierda. | ||
Línea 9: | Línea 9: | ||
Por último la // | Por último la // | ||
- | ==== Ejercicio | + | === Ejercicio === |
Haga un diagrama equivalente al anterior pero para la declaración: | Haga un diagrama equivalente al anterior pero para la declaración: | ||
Línea 17: | Línea 17: | ||
</ | </ | ||
- | ==== Tiempo de vida y alcance de una variable ==== | + | ===== Tiempo de vida y alcance de una variable |
- | Una variable tiene un tiempo de vida. La variable nace, es decir se crea cuando se le asigna un espacio en memoria. | + | Una variable tiene un //tiempo de vida//. La variable nace, es decir se crea cuando se le asigna un espacio en memoria. |
- | El alcance de una variable es el o los trozos de código en donde su identificador es conocido. | + | El //alcance de una variable// es el o los trozos de código en donde su identificador es conocido. |
- | ==== Variables globales ==== | + | ===== Variables globales |
Son todas las variables que se declaran fuera de una función. | Son todas las variables que se declaran fuera de una función. | ||
Línea 40: | Línea 40: | ||
El alcance de una variable global comprende desde el punto del código en donde se declara hasta el final del archivo. | El alcance de una variable global comprende desde el punto del código en donde se declara hasta el final del archivo. | ||
- | ==== variables automáticas ==== | + | ===== variables automáticas |
La //variables automáticas// | La //variables automáticas// | ||
Línea 81: | Línea 81: | ||
Observe que variables declaradas al inicio de la función como x y sum tienen una sola reencarnación por cada invocación de sum_difs. | Observe que variables declaradas al inicio de la función como x y sum tienen una sola reencarnación por cada invocación de sum_difs. | ||
- | === Inicialización === | + | ==== Inicialización |
Es importante destacar que si la declaración de una variable automática no incluye un valor inicial, éste queda indeterminado y //¡rara vez resulta ser 0!// Acceder al valor de una variable automática no inicializada es un error de programación en el 99.9% de los casos. | Es importante destacar que si la declaración de una variable automática no incluye un valor inicial, éste queda indeterminado y //¡rara vez resulta ser 0!// Acceder al valor de una variable automática no inicializada es un error de programación en el 99.9% de los casos. | ||
Línea 105: | Línea 105: | ||
El problema con este programa es que se usa la variable v sin haberle dado un valor inicial. | El problema con este programa es que se usa la variable v sin haberle dado un valor inicial. | ||
- | === Variables y funciones recursivas === | + | ===== Variables y funciones recursivas |
Un caso más complicado se produce al considerar la versión recursiva de fact: | Un caso más complicado se produce al considerar la versión recursiva de fact: | ||
Línea 121: | Línea 121: | ||
Si se invoca fact(6) se invocará recursivamente fact(5), fact(4), fact(3), fact(2) y fact(1). | Si se invoca fact(6) se invocará recursivamente fact(5), fact(4), fact(3), fact(2) y fact(1). | ||
- | ==== Variables dinámicas ==== | + | ===== Variables dinámicas |
La última categoría de variables corresponde a las variables dinámicas. | La última categoría de variables corresponde a las variables dinámicas. | ||
variables.1395751855.txt.gz · Última modificación: 2014/03/25 12:50 (editor externo)