![]() |
|
|
|
|
|
Si buscas
hosting web,
dominios web,
correos empresariales o
crear páginas web gratis,
ingresa a
PaginaMX
FUNCION MALLOC.
La función malloc sirve para solicitar un bloque de memoria del tamaño suministrado como parámetro. Devuelve un puntero a la zona de memoria concedida:
void* malloc ( unsigned numero_de_bytes );
El tamaño se especifica en bytes. Se garantiza que la zona de memoria concedida no está ocupada por ninguna otra variable ni otra zona devuelta por malloc.
Si malloc es incapaz de conceder el bloque (p.ej. no hay memoria suficiente), devuelve un puntero nulo.
Punteros voidLa función malloc devuelve un puntero inespecífico, que no apunta a un tipo de datos determinado. En C, estos punteros sin tipo se declaran como void*
Muchas funciones que devuelven direcciones de memoria utilizan los punteros void*. Un puntero void* puede convertirse a cualquier otra clase de puntero:
char* ptr = (char*)malloc(1000);
Operador sizeofEl problema de malloc es conocer cuántos bytes se quieren reservar. Si se quiere reservar una zona para diez enteros, habrá que multiplicar diez por el tamaño de un entero.
El tamaño en bytes de un elemento de tipo T se obtiene con la expresión
sizeof ( T)
El tamaño de un char siempre es 1 (uno).
FUNCION CALLOC.
Asigna un array en la memoria con elementos inicializados a 0.
void * calloc (
size_t num,
tamaño size_t
);
calloc devuelve un puntero al espacio asignado. El espacio de almacenamiento a la que apunta el valor de retorno está garantizado para ser convenientemente preparada para el almacenamiento de cualquier tipo de objeto. Para obtener un puntero a un tipo distinto de void , utilice un tipo de yeso en el valor de retorno. FUNCION FREE. Cuando una zona de memoria reservada con malloc ya no se necesita, puede ser liberada mediante la función free.
void free (void* ptr);
ptr es un puntero de cualquier tipo que apunta a un área de memoria reservada previamente con malloc.
Si ptr apunta a una zona de memoria indebida, los efectos pueden ser desastrosos, igual que si se libera dos veces la misma zona.
FUNCION REALLOC.
Reasigne bloques de memoria.
void *realloc(
void *memblock,
size_t size
);
NULL . size es cero, el bloque indicada por memblock se libera; el valor devuelto es NULL, y memblock se permite informar sobre un bloque liberado. |
|
|
Tu Sitio Web Gratis © 2026 Hector Josue Ramirez Suarez20806 |
|