viernes, 19 de noviembre de 2021

C Array dinámico malloc

 C Array dinámico malloc

https://replit.com/@profeitm/t13arraydinamico#main.c

/* t13_array_dinamico.c
Descripción: Creación de arrays de diferente tamaño de forma dinámica
Primero se genera un array ptr de 5 elemntos tipo int
Despues se genera un array ptr de 10 elementos tipo int


Las funciones que realizan un manejo activo de la memoria del sistema
requieren todas ellas para su correcto funcionamiento la inclusión, mediante la
directiva del prepocesador #include del archivo de cabecera <stdlib.h>.

void *malloc(unsigned num_bytes);

mediante una conversión forzada de tipo de datos cast
int *a;
a=(int *)malloc(sizeof(int));

La función malloc(), y en general, cualquier función de reserva dinámica de memoria, devuelve un puntero nulo (NULL) si la reserva de memoria no puede realizarse, generalmente por falta de memoria disponible. Por ello, antes de usar un puntero devuelto por la función malloc() o por cualquier otra función de reserva dinámica de memoria es imprescindible, con el fin de evitar posibles fallos en la ejecución del programa, comprobar que dicho puntero no es nulo (NULL).

Autor: Alexander Arias
Fecha: 18 de noviembre de 2021
Version: 0.1
*/

#include <stdio.h>
#include <stdlib.h>

int main(void) {
int *ptr, i;
printf("Memoria Dinámica\n");

printf("Crear un array de 5 elementos tipo int\n");
ptr = (int *) malloc(5*sizeof(int));

if (ptr==NULL)
printf ("Error de Mem.");

for (i=0;i<5;i++)
ptr[i]=i;

for(i=0;i<5;i++){
printf("%d\t",*(ptr+i));
}
printf ("\n");

printf("Crear un array de 10 elementos tipo int\n");
ptr = (int *) malloc(10*sizeof(int));

if (ptr==NULL)
printf ("Error de Mem.");

for (i=0;i<10;i++)
ptr[i]=i;

for(i = 0;i<10;i++){
printf("%d\t",*(ptr+i));
}
printf ("\n");

free(ptr);
return 0;
}


 clang-7 -pthread -lm -o main main.c  ./main Memoria Dinámica Crear un array de 5 elementos tipo int 0 1 2 3 4 Crear un array de 10 elementos tipo int 0 1 2 3 4 5 6 7 8 9



No hay comentarios:

Publicar un comentario