En este post te mostraré cómo trabajar con un arreglo que contiene varios structs dentro de sí. Te mostraré cómo declarar, asignar y leer valores de un array de structs en el lenguaje de programación C.

Nota: si no conoces mucho sobre lo que es un struct en C, primero pásate por este post.

Sintaxis

Para el caso de la declaración, la misma se hace usando la misma sintaxis que todas las declaraciones de arreglos.

tipo_de_dato nombre_de_arreglo[cantidad];

Pero ahora en el tipo de dato será struct nombre_struct. Por ejemplo, si tenemos un struct de tipo persona, sería:

struct persona personas[10];

En este caso estaríamos declarando un arreglo con capacidad de 10 personas.

Declarar arreglo de struct en C

Ya vimos la sintaxis. Pasemos al ejemplo. En este caso declaramos un arreglo de 2 personas:

See the gist on github.

Ahora ya no necesitamos reservar memoria en tiempo de ejecución usando malloc, pues ya estamos indicando cuánta de ella vamos a usar en tiempo de compilación.

Llenar arreglo de structs

Para llenar el arreglo podemos usar un ciclo e ir llenando los valores, o acceder a los índices manualmente.

See the gist on github.

Como puedes ver seguimos usando strncpy para asignar la cadena.

Recorrer arreglo

El recorrido de un arreglo se hace con un ciclo for normal, como lo haríamos con cualquier otro tipo de array:

See the gist on github.

Como puedes ver, accedemos al elemento actual en la línea 5.

Poniendo todo junto

Arreglo de tipo struct en C

El código completo de esta demostración sobre el uso de arreglos de tipo struct queda así:

See the gist on github.

Si quieres puedes ejecutarlo en este enlace. Y en este otro enlace te dejo más sobre C.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

1 hora hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

2 horas hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

4 horas hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

9 horas hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

4 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

5 días hace

Esta web usa cookies.