COMPARTE ESTE ARTÍCULO

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;
}
Descarga gratuita de C, Lenguajes De Programación, Símbolo Imágen de Png


NUESTRAS ÚLTIMAS PUBLICACIONES


Contenido restringido

Acceso de usuarios existentes
   
Registro de un nuevo usuario
*Campo necesario

Tags:

Comments are closed

Estado de acceso
ESTADO DE ACCESO
TRADUCTORES
COMPARTENOS
error: CONTENIDO PROTEGIDO