Herramientas de usuario

Herramientas del sitio


arreglos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
arreglos [2012/08/04 01:28] – [Arreglos automáticos] lmateuarreglos [2016/09/27 13:02] (actual) – [Arreglos globales] lmateu
Línea 47: Línea 47:
 </code> </code>
  
-En este caso //&x// y //&y// se considera constantes.  En realidad el compilador no puede determinar su valores pero a la larga sí se puede determinar esa dirección antes de comenzar la ejecución del programa.  Existen mecanismos especiales en el compilador y en el linker para poder dar un valor inicial correcto en este caso.+En este caso //&x// y //&y// se considera constantes.  En realidad el compilador no puede determinar sus valores pero a la larga sí se puede determinar esa dirección antes de comenzar la ejecución del programa.  Existen mecanismos especiales en el compilador y en el linker para poder dar un valor inicial correcto en este caso.
 ==== Arreglos automáticos ==== ==== Arreglos automáticos ====
  
-También es posible declarar un arreglo local a una función.  El tiempo de vida y alcance es el mismo de todas las variables automáticas.  Por ejemplo:+También es posible declarar un arreglo local a una función.  El tiempo de vida y alcance es el mismo de todas las variables automáticas.  Se ubican en la pila del proceso.  Por ejemplo:
  
 <code> <code>
Línea 97: Línea 97:
 </code> </code>
  
-Compíle y ejecute con:+Compile y ejecute con:
  
   % gcc -m32 loop.c   % gcc -m32 loop.c
Línea 147: Línea 147:
  
 Continúe así hasta que i tome el valor 10.  Ejecute una iteración más.  ¿Qué valor toma la variable i? Continúe así hasta que i tome el valor 10.  Ejecute una iteración más.  ¿Qué valor toma la variable i?
 +
 +==== Arreglos dinámicos ====
 +
 +Son todos los arreglos que se crean llamando a malloc y se destruyen explícitamente con free, como se vió en el capítulo sobre punteros. Por lo tanto se ubican en el heap.  Su valor inicial es indeterminado y por lo tanto deben ser inicializados por el programador despúes de su creación.
 +
 +Observe que Java no posee arreglos globales ni locales a una función.  Todos los arreglos de Java son dinámicos.
arreglos.1344043732.txt.gz · Última modificación: 2012/08/04 01:28 por lmateu