Función malloc() en la biblioteca C con EJEMPLO
¿Qué es malloc en C?
La función malloc() representa la asignación de memoria. Es una función que se utiliza para asignar un bloque de memoria dinámicamente. Reserva espacio de memoria del tamaño especificado y devuelve el puntero nulo que apunta a la ubicación de la memoria. El puntero devuelto suele ser de tipo void. Significa que podemos asignar la función malloc a cualquier puntero.
Sintaxis
ptr = (cast_type *) malloc (byte_size);
Aquí,
- ptr es un puntero de cast_type.
- La función malloc devuelve un puntero a la memoria asignada de byte_size.
Example: ptr = (int *) malloc (50)
Cuando esta instrucción se ejecuta con éxito, se reserva un espacio de memoria de 50 bytes. La dirección del primer byte del espacio reservado se asigna al puntero ptr de tipo int.
Considere otro ejemplo de implementación malloc:
#include <stdlib.h> int main(){ int *ptr; ptr = malloc(15 * sizeof(*ptr)); /* a block of 15 integers */ if (ptr != NULL) { *(ptr + 5) = 480; /* assign 480 to sixth integer */ printf("Value of the 6th integer is %d",*(ptr + 5)); } }
Salida:
Value of the 6th integer is 480
- Observe que sizeof(*ptr) se utilizó en lugar de sizeof(int) para hacer que el código sea más robusto cuando la declaración *ptr se encasille a un tipo de datos diferente más adelante.
- La asignación puede fallar si la memoria no es suficiente. En este caso, devuelve un puntero NULL. Por lo tanto, debe incluir código para verificar si hay un puntero NULL.
- Recuerde que la memoria asignada es contigua y puede tratarse como una matriz. Podemos usar la aritmética de punteros para acceder a los elementos de la matriz en lugar de usar corchetes []. Recomendamos usar + para referirse a los elementos de la matriz porque el uso de incrementos ++ o +=cambia la dirección almacenada por el puntero.
La función Malloc también se puede utilizar con el tipo de datos de caracteres, así como con tipos de datos complejos como estructuras.
Lenguaje C
- Declaración de caso de cambio de C ++ con EJEMPLO
- C++ Asignación dinámica de arreglos con ejemplo
- Punteros de C++ con ejemplos
- Sobrecarga de operadores de C++ con ejemplos
- Estructura C++ con ejemplo
- Mapa en la biblioteca de plantillas estándar (STL) de C++ con ejemplo de impresión
- std::list en C++ con ejemplo
- Funciones de C++ con ejemplos de programas
- Función calloc() en la biblioteca C con programa EJEMPLO
- Realloc () Función en la biblioteca C:¿Cómo usar? Sintaxis y ejemplo
- Función free () en la biblioteca C:¿Cómo usar? Aprende con el Ejemplo