Comment vérifier l'erreur malloc en C

Comment vérifier l'erreur malloc en C
Le malloc est une fonction de langue C utilisée pour allouer la mémoire à une variable. Il renvoie également un pointeur. Nous pouvons également utiliser la fonction malloc pour vérifier les erreurs sur l'allocation de la mémoire. Lorsqu'une méthode Malloc se trouve incapable d'allouer de la mémoire, elle renvoie généralement nul. Vous pouvez également via un message d'erreur si l'allocation a échoué lors de la gestion des pointeurs. Dans ce guide, nous verrons l'implémentation de la fonction malloc pour allouer la mémoire et vérifier l'erreur pour l'allocation de la mémoire. Alors, commencez l'implémentation en connectant simplement à partir du système Linux.

Exemple 01

Notre premier exemple sera d'attribuer une mémoire lors du retour d'un pointeur dans la langue C. Ouvrez votre terminal Linux par une clé de raccourci «Ctrl + Alt + T». Créer un nouveau fichier «Malloc.C ”avec une commande« Touch »dans votre shell, puis l'ouvrez dans l'éditeur GNU.

Maintenant que le fichier a été ouvert dans l'éditeur, ajoutez les fichiers d'en-tête requis comme indiqué dans l'image ci-dessous. Nous avons déclaré la méthode principale tout en initialisant un pointeur «P». La méthode malloc a été utilisée pour créer une mémoire, et la taille de la mémoire qui vient d'être créée sera retournée au pointeur «P». C'était la syntaxe standard de l'allocation ou de la création d'une mémoire en C. L'instruction «IF» illustre que si la valeur du pointeur n'est pas nulle, elle imprimera que la mémoire a été créée avec succès.

Enregistrez votre fichier de code avec «Ctrl + S» et revenez au terminal à l'aide de «Ctrl + S». Le compilateur «GCC» a été largement utilisé pour la compilation des fichiers C dans Linux. Nous l'utiliserons également. Après l'exécution d'un fichier, nous avons un message de réussite.

Exemple 02

Vérifions l'exemple illustrant comment le système via une exception si une erreur se produit. Nous avons donc ouvert le même fichier dans l'éditeur «GNU». Dans la méthode principale, nous avons paraphé une variable de type entier constant «array_size» qui indique que la taille d'un tableau est vide. Dans la ligne suivante, nous avons défini un pointeur de long type à double. La valeur Array_Size a été utilisée pour créer une mémoire et retournée à un pointeur «P». Si la valeur d'un pointeur est nul, le système imprime que l'erreur s'est produite et que le système est hors de mémoire. Le programme sera interrompu en même temps. Si l'instruction «IF» a été lésée, l'instruction imprimée extérieure sera exécutée.

Compilons simplement le malloc.File C d'abord avec un compilateur GCC dans Shell Linux, puis l'exécutez. Comme la valeur définie dans la variable entière constante «array_size» était nul. Par conséquent, il a lancé une erreur et a affiché que le système était hors de mémoire.

Exemple 03

Ayons une autre illustration pour voir le fonctionnement de la méthode malloc dans la langue C. Le nouveau fichier «Nouveau.C ”a été ouvert dans l'éditeur. Tous les fichiers d'en-tête requis ont été inclus. La méthode principale a été utilisée pour initialiser une variable entière «n». La déclaration d'impression a été utilisée pour demander à l'utilisateur de saisir tout numéro souhaité. La méthode ScanF est utilisée pour obtenir une valeur intégrée à l'utilisateur et lier cette valeur avec la variable «n». La fonction malloc a été utilisée pour vérifier la création de la mémoire et revenir à un pointeur «P». Le même chèque a été utilisé sur la valeur du pointeur nul. La première boucle «For» obtient les entrées de l'utilisateur et le résume avec la valeur du pointeur. Une autre boucle «pour» a été utilisée pour imprimer la valeur de somme.

La compilation et l'exécution ont été effectuées comme ci-dessous. Les utilisateurs ont entré les valeurs et ont obtenu la valeur résultante.

Nous avons mis à jour le code et attribuer une valeur vide à la variable «n» pour voir le changement.

Étant donné que la taille de la mémoire n'a pas été définie, l'exécution après la compilation montre le message d'erreur «Mémoire non disponible».

Conclusion

Ce tutoriel contient les meilleurs exemples qui vous aideront à voir comment la méthode Malloc fonctionne pour identifier une erreur sur le problème de l'allocation de la mémoire. Nous espérons que vous n'avez aucun problème lors de la mise en œuvre de la fonction malloc.