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
- ¡VOLVEMOS A NUESTROS HORARIOS HABITUALES!

- Especificadores de formato en C (printf/sprintf y scanf)

- Propuestas de actividades avanzadas con XML, DTD, XPath y XSLT

- Apuntes extensos de XML y XSLT

- El momento IDEAL para impulsar tu FORMACIÓN y alcanzar tus Metas Académicas: LAS NAVIDADES.

- 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)

Contenido restringido

Comments are closed