BUSCAR
INDICE
INDICE DEL TEMA
OBJETIVOS
TEORIA
PALABRAS RESERVADAS
GLOSARIO
EJERCICIOS
RESUELTOS
AUTOEVALUACION
PROPUESTOS
ERRORES
ESTADISTICAS
INICIO
FAQS
LINKS
RECOMIENDANOS
QUIENES SOMOS
MAPA DEL WEB
COLABORAR
Tema 11 Otros tipos de variables: Estructuras
Sugerencias de Rendimiento

Es más eficaz pasar estructuras en llamadas por referencia que pasar estructuras en llamadas por valor (ya que esto último requiere que toda la estructura se copie).

Las uniones ahorran almacenamiento.

Los campos de bits ayudan a ahorrar almacenamiento.

Aunque los campos de bits ahorran espacio, su uso puede hacer que el compilador genere código en lenguaje de máquina de ejecución más lenta. Esto ocurre debido a que tener acceso a sólo porciones de una unidad de almacenamiento direccionable toma más operaciones en lenguaje de máquina. Esto es uno de los muchos ejemplos de los tipos de intercambio espacio-tiempo que ocurren en la ciencia de la computación.

Podría declararse un arreglo que contenga más elementos que el número esperado de elementos de datos, pero esto puede desperdiciar memoria. En estas situaciones las listas enlazadas pueden obtener una mejor utilización de la memoria.

Puede resultar muy tardado insertar y eliminar en un arreglo ya ordenado - deberán ser desplazados en forma apropiada. Todos los elementos que sigan al desplazado o borrado.

Los elementos de un arreglo se almacenan en forma contigua en memoria. Esto permite acceso inmediato a cualquier elemento del arreglo, porque la dirección de cualquier elemento puede ser calculada directamente,
basada en su posición en relación con el principio del arreglo. Las listas enlazadas no proporcionan un acceso inmediato como éste a sus elementos.

Tratándose de estructuras de datos que crecen y se reducen en tiempo de ejecución, es posible ahorrar memoria utilizando asignación dinámica de memoria (en vez de los arreglos). Recuerde, sin embargo, que los apuntadores toman espacio, y que la asignación dinámica de memoria incurre en sobrecargas por las llamadas de función.

Al igual que en una declaración struct, una declaración unión simplemente crea un tipo nuevo. Colocar una declaración union o struct fuera de cualquier función no crea una variable global.