librerias
La biblioteca estándar de C proporciona las funciones malloc, calloc,realloc y free para el manejo de memoria dinámica. Estas funciones están definidas en el archivo de cabecera stdlib.h.
malloc
La función malloc reserva un bloque de memoria y devuelve un puntero voidal inicio de la misma. Tiene la siguiente definición:
void *malloc(size_t size);
Donde el parámetro size especifica el número de bytes a reservar. En caso de que no se pueda realizar la asignación,devuelve el valor nulo (definido en la macro NULL), lo que permite saber si hubo errores en la asignación de memoria.
Ej:
int *puntero;
char *puntcarc;
puntero=(int *)malloc(4);puntcarc=(char *)malloc(200);
A continuación se muestra un ejemplo de su uso:
int *i;
…
/* Reservamos la memoria suficiente para almacenar un int y asignamos su dirección a i */
i =malloc(sizeof(int));
/* Verificamos que la asignación se haya realizado correctamente */
if (i == NULL) {
/* Error al intentar reservar memoria */
}
Uno de los usos más comunes de la memoriadinámica es la creación de vectores cuyo número de elementos se define en tiempo de ejecución:
int *vect1, n;
printf("N£mero de elementos del vector: ");
scanf("%d", &n);
/* Reservar memoria para...
Regístrate para leer el documento completo.