En la programación existen múltiples tipos de estructuras y de ellas destacan bastantes pero las estructuras estáticas son una de las mas simples a la hora de la implementación ya que este facilita la declaración y otras operaciones sobre estas mismas. Las estructuras estáticas son aquellas en las que el tamaño ocupado en memoria se define antes de que el programa se ejecute y no puede modificarse dicho tamaño durante la ejecución del programa.
Su principal y más grande característica se debe a que ocupan solo una casilla de memoria, por lo tanto, una variable simple hace referencia a un único valor a la vez, la estructura estática puede hacer uso de los siguientes tipos de datos:
-
Enteros
-
Reales
-
Caracteres
-
Boléanos
-
Enumerados
-
Subrangos
Este tipo de estructura de datos es la mejor opción cuando se necesita manejar una cantidad fija de elementos en una pequeña parte de un gran programa, además permiten mantener un conjunto de datos de un tipo en especifico para así poder realizar trabajos sobre esta misma y es una herramienta muy útil para la solución de problemas. Al ser de una fácil implementación esto ocasiona que sea aun mas indispensable como parte de muchos proyectos.
Algunas de las fortalezas mas destacadas de las estructuras estáticas son las siguientes:
-
Fácil implementación: A diferencia de las estructuras dinámicas, las estructuras estáticas son fáciles de declarar. No es necesaria la creación de clases adicionales como nodo y lista de nodos para trabajar con ellas.
-
Acceso de elementos: Ya que las estructuras estáticas cuentan con un índice, ya sea unidimensional o bidimensional, se puede acceder a los elementos que pertenecen a la estructura de una forma totalmente directa.
-
Tamaño en memoria: Desde el momento de su declaración, se conoce el tamaño en memoria que es reservado para la estructura, lo cual puede ser útil para mantener un manejo de memoria controlado.
Estas son algunas de las debilidades mas destacadas de las estructuras estáticas:
-
Tamaño estático: Una vez declarada, su tamaño no puede ser modificado. Por eso es mejor ser utilizadas cuando se sabe exactamente la cantidad de elementos que se van a manejar y estar seguros de que esta cantidad nunca va a cambiar. En tal caso, sería recomendable otro tipo de estructura.
-
Límite de operaciones: No se pueden hacer ciertas acciones. Un ejemplo es la eliminación de datos. Si hay un dato que no se está utilizando, de igual forma estará ocupando memoria ya que no puede ser eliminado. Naturalmente, otra acción que no puede realizar es la de agregar nuevos datos.
-
Tiene un mayor costo por bit
-
Tiene un mayor consumo de potencia
-
Tiene una menor capacidad: Esto es debido a que cada celda de almacenamiento requiere del uso de más transistores.
-
Desperdicio de memoria: Ya que este al ser declarado antes de que el programa se ejecute la memoria ya esta definida desde entonces por ende si se necesito menos memoria que lo reservado se desperdiciara ya que no se puede modificar.
Como todo en la vida existen cosas positivas o fortalezas y a la vez también existen cosas negativas es decir debilidades y para este tipo de estructura no es la excepción. Todo tipo de estructura de datos tiene sus puntos fuertes y a la vez sus puntos débiles, pero por esto no las hacen peores o mejores que otros tipos de estructura ya que cada uno está orientado a una tarea en específico y tienen su punto fuerte en ciertas funcionalidades donde son la mejor opción a emplear con un mayor rendimiento eficaz.
Referencias
Estructuras de Datos Estáticas y Dinámicas. (s. f.). Universidad Autónoma del Estado de Hidalgo. Recuperado 5 de diciembre de 2020, de http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro9/estructuras_de_datos_estticas_y_dinmicas.html#:%7E:text=Son%20aquellas%20en%20las%20que,durante%20la%20ejecuci%C3%B3n%20del%20programa.
Joyanes, L., Sánchez, L., & Zahonero, I. (2007). Estructura de Datos C++. New York, Estados Unidos: McGraw-Hill Education.