Jak sprawdzić błąd Malloc w C

Jak sprawdzić błąd Malloc w C
Malloc to funkcja języka C używana do alokacji pamięci na jakąś zmienną. Zwraca również wskaźnik. Możemy również użyć funkcji Malloc, aby sprawdzić błędy dotyczące alokacji pamięci. Kiedy metoda Malloc nie jest w stanie przydzielić pamięci, zwykle zwraca Null. Możesz także za pośrednictwem komunikatu o błędzie, jeśli alokacja nie powiodła się po zarządzaniu wskaźnikami. W tym przewodniku zobaczymy implementację funkcji Malloc, aby przydzielić pamięć i sprawdzić błąd dla alokacji pamięci. Rozpocznij implementację, po prostu zaloguj się z systemu Linux.

Przykład 01

Naszym pierwszym przykładem będzie przypisanie pamięci podczas zwracania wskaźnika w języku C. Otwórz terminal Linux za pomocą klawisza skrótu „Ctrl+Alt+T”. Utwórz nowy plik „Malloc.c ”z poleceniem„ dotyk ”w skorupce, a następnie otwórz je w edytorze GNU.

Teraz, gdy plik został otwarty w edytorze, dodaj wymagane pliki nagłówka, jak pokazano na poniższym zdjęciu. Zadeklarowaliśmy w niej główną metodę podczas zainicjowania wskaźnika „P”. Metoda Malloc została użyta do utworzenia pamięci, a rozmiar właśnie utworzonego pamięci zostanie zwrócony do wskaźnika „P”. To była standardowa składnia przydzielania lub tworzenia pamięci w C. Oświadczenie „If” ilustruje, że jeśli wartość wskaźnika nie jest zerowa, wydrukuje, że pamięć została pomyślnie utworzona.

Zapisz plik kodu za pomocą „CTRL+S” i wskocz z powrotem do terminala za pomocą „Ctrl+S”. Kompilator „GCC” był szeroko stosowany do kompilacji plików C w Linux. Będziemy go również używać. Po wykonaniu pliku otrzymaliśmy wiadomość sukcesu.

Przykład 02

Sprawdźmy przykład ilustrujący, w jaki sposób system za pomocą wyjątku, jeśli wystąpi jakiś błąd. Tak więc otworzyliśmy ten sam plik w edytorze „GNU”. W ramach głównej metody inikiestrowaliśmy stałą zmienną typu liczb całkowitych „Array_Size”, która wskazuje, że rozmiar tablicy jest pusty. W następnym wierszu zdefiniowaliśmy wskaźnik długiego typu podwójnego. Wartość Array_Size została użyta do utworzenia pamięci i zwrócona do wskaźnika „P”. Jeśli wartość wskaźnika jest równa NULL, system wydrukuje, że wystąpił błąd, a system jest poza pamięcią. Program zostanie zakończony w tym samym czasie. Jeśli instrukcja „jeśli” została skrzywdzona, instrukcja druku zewnętrznego zostanie wykonana.

Po prostu skompilujmy Malloc.plik C najpierw z kompilatorem GCC w Linux Shell, a następnie wykonaj go. Ponieważ wartość zdefiniowana w stałej zmiennej liczb całkowitych „array_size” była null. Stąd rzucił błąd i pokazał, że system był poza pamięcią.

Przykład 03

Zróbmy kolejną ilustrację, aby zobaczyć działanie metody Malloc w języku C. Nowy plik „nowy.C ”został otwarty w redakcji. Wszystkie wymagane pliki nagłówka zostały uwzględnione. Główną metodę zastosowano do zainicjowania zmiennej liczby całkowitych „N”. Instrukcja drukowania została użyta do poproszenia użytkownika o wprowadzenie dowolnego pożądanego numeru. Metoda Scanf jest wykorzystywana do uzyskania wartości wprowadzonej przez użytkownika i powiązania tej wartości ze zmienną „N”. Funkcja Malloc została użyta do sprawdzania tworzenia pamięci i powrotu do wskaźnika „P”. Ten sam czek został użyty na wartości wskaźnika zerowego. Pierwsza pętla „for” otrzymuje dane wejściowe od użytkownika i podsumowuje ją z wartością wskaźnika. Do wydrukowania wartości podsumowania wykorzystano inną pętlę „for”.

Kompilacja i wykonanie zostały wykonane jak poniżej. Użytkownicy wprowadzili wartości i otrzymali wynikową wartość.

Zaktualizowaliśmy kod i przypisaliśmy pustą wartość do zmiennej „N”, aby zobaczyć zmianę.

Ponieważ rozmiar pamięci nie został zdefiniowany, wykonanie po kompilacji pokazuje komunikat o błędzie „Niedostępna pamięć”.

Wniosek

Ten samouczek zawiera najlepsze przykłady, które pomogą Ci zobaczyć, jak działa metoda MALLOC w celu zidentyfikowania błędu w sprawie alokacji pamięci. Mamy nadzieję, że nie masz problemu podczas wdrożenia funkcji Malloc.