Cómo verificar el error de malloc en c

Cómo verificar el error de malloc en c
El malloc es una función de lenguaje C utilizada para asignar memoria a alguna variable. También devuelve un puntero. También podemos usar la función MALLOC para verificar los errores sobre la asignación de memoria. Cuando un método MALLOC se encuentra incapaz de asignar memoria, generalmente devuelve nulo. También puede a través de un mensaje de error si la asignación falló al administrar los punteros. En esta guía, veremos la implementación de la función MALLOC para asignar la memoria y verificar el error para la asignación de memoria. Entonces, inicie la implementación simplemente inicie sesión desde el sistema Linux.

Ejemplo 01

Nuestro primer ejemplo será asignar una memoria mientras devuelve un puntero en el idioma C. Abra su terminal de Linux por una tecla de acceso directo "Ctrl+Alt+T". Crear un nuevo archivo "Malloc.c "con un comando de" toque "en su shell y luego ábralo dentro del editor de GNU.

Ahora que el archivo se ha abierto en el editor, agregue los archivos de encabezado requeridos como se muestra en la imagen a continuación. Hemos declarado el método principal en él mientras inicializamos un puntero "P". El método MALLOC se ha utilizado para crear una memoria, y el tamaño de la memoria que se acaba de crear se devolverá al puntero "P". Esta fue la sintaxis estándar de asignar o crear una memoria en C. La declaración "IF" ilustra que si el valor del puntero no es nulo, imprimirá que la memoria se haya creado con éxito.

Guarde su archivo de código con "Ctrl+S" y vuelva al terminal usando "Ctrl+S". El compilador "GCC" se ha utilizado ampliamente para la compilación de archivos C en Linux. También lo usaremos. Después de la ejecución de un archivo, tenemos un mensaje de éxito.

Ejemplo 02

Verifiquemos el ejemplo que ilustra cómo se produce el sistema a través de una excepción si se produce algún error. Entonces, hemos abierto el mismo archivo en el editor "GNU". Dentro del método principal, hemos iniciado una variable de tipo entero constante "Array_Size" que indica que el tamaño de una matriz está vacío. En la siguiente línea, hemos definido un puntero de tipo doble largo. El valor de array_size se ha utilizado para crear una memoria y devuelto a un puntero "P". Si el valor de un puntero es igual a nulo, el sistema imprimirá que el error ha ocurrido y el sistema está fuera de memoria. El programa se terminará al mismo tiempo. Si la declaración "si" se desembolsó, la instrucción de impresión externa se ejecutará.

Vamos a compilar el malloc.Cile C primero con un compilador GCC en Linux Shell y luego ejecutarlo. Como el valor definido en la variable entera constante "array_size" era nulo. Por lo tanto, arrojó un error y mostró que el sistema estaba fuera de memoria.

Ejemplo 03

Tengamos otra ilustración para ver el funcionamiento del método Malloc en el idioma C. El nuevo archivo "nuevo.C "se ha abierto en el editor. Se han incluido todos los archivos de encabezado requeridos. El método principal se ha utilizado para inicializar una variable entero "n". La declaración de impresión se ha utilizado para pedirle al usuario que ingrese cualquier número deseado. El método de ScanF se utiliza para obtener el valor de inutilización del usuario y vincular ese valor con la variable "n". La función MALLOC se ha utilizado para verificar la creación de memoria y volver a un puntero "P". La misma verificación se ha utilizado sobre el valor del puntero nulo. El primer bucle "para" recibe entrada del usuario y la suma con el valor del puntero. Se ha utilizado otro bucle "para" para imprimir el valor de suma.

La compilación y la ejecución se han realizado a continuación. Los usuarios ingresaron los valores y obtuvieron el valor resultante.

Hemos actualizado el código y asignamos un valor vacío a la variable "n" para ver el cambio.

Dado que el tamaño de la memoria no se ha definido, la ejecución después de la compilación muestra el mensaje de error "Memoria no disponible".

Conclusión

Este tutorial contiene los mejores ejemplos que lo ayudarán a ver cómo funciona el método MALLOC para identificar un error al problema de la asignación de memoria. Esperamos que no haya tenido ningún problema mientras la implementación de la función MALLOC.