A continuación veremos un programa muy básico donde trabajamos con arrays de enteros
#include <stdio.h>
#include <stdlib.h>
//tamaño base del array
int size = 10;
char*c;
//estructura que representa un array de enteros, usaremos memoria dinámica para expandir su capacidad cuando sea necesario
typedef struct{
int *array_enteros;
int n_elements;
} t_array_enteros;
/**
* @brief Metodo que nos permite inicializar una estructura
*
* @param array puntero al elemento a inicializar
*/
void init_array(t_array_enteros *array){
//podemos reservar la memoria usando malloc
//usando calloc podemos inicializar un determinado número de elementos a 0
array->array_enteros=calloc(size,sizeof(int));// malloc(sizeof(int)*size)
array->n_elements=0;
}
/**
* @brief metodo que nos ermite añadir un entero al array, si este ya está al máximo de su capacidad
*
* @param array_enteros_t
* @param numero
*/
void add_entero(t_array_enteros*array_enteros_t, int numero){
//TODO: si el array está lleno expandir la memoria
array_enteros_t->array_enteros[array_enteros_t->n_elements]=numero;
array_enteros_t->n_elements++;
}
int main()
{
t_array_enteros array_enteros;
init_array(&array_enteros);
//imprimimos el contenido del array
for (int i = 0; i < size; i++)
{
printf("%d\n",array_enteros.array_enteros[i]);
}
//añadimos elementos, en este caso de forma ascendente del 0 al 9
for (int i = 0; i < size; i++)
{
add_entero(&array_enteros,i);
}
//imprimimos el contenido del array
for (int i = 0; i < array_enteros.n_elements; i++)
{
printf("%d\n",array_enteros.array_enteros[i]);
}
//introducimos un elemento que en principio no cabe en el array
add_entero(&array_enteros,10);
printf("%d\n",array_enteros.array_enteros[10]);
//liberamos la memoria cuando ya no vamos a usar más el array
free(array_enteros.array_enteros);
return 0;
}

NUESTRAS ÚLTIMAS PUBLICACIONES
- 20 ejercicios de funciones avanzadas en Python (al estilo de Ackermann)
- Cómo guardar una página web completa en MySQL con PHP (urlencode, BLOB y otras técnicas)
- 60 ejercicios de funciones recursivas en Python para la carrera de Informática
- SIMULACRO 2 – FP Programación de Videojuegos
- Simulacro de examen – FP Programación de Videojuegos
- ALERTA METEOROLÓGICA

- Proyectos que puedes empezar para aprender a programar (Academia San Roque)

- 15 ejercicios básicos en R (con soluciones)

- 📘 5 Ejercicios Sencillos de Programación en R (con soluciones)

- Guía para Aprender a Estudiar Programación con las 10 Claves de la Autodisciplina

- Serializar una lista de personas (nombre, apellido, DNI) en Java y guardarla en un archivo binario

- Simulacro de Examen — Fundamentos de Programación (Laboratorio)

Contenido restringido

Comments are closed