Hvordan se etter Malloc -feil i C

Hvordan se etter Malloc -feil i C
Malloc er en C -språkfunksjon som brukes til å tildele minne til en viss variabel. Det returnerer også en peker. Vi kan også bruke Malloc -funksjonen for å sjekke for feil om minnetildeling. Når en malloc -metode finner seg ikke i stand til å tildele minne, returnerer den vanligvis null. Du kan også gjennom en feilmelding hvis tildelingen ble mislyktes når du administrerer pekerne. I denne guiden vil vi se implementeringen av Malloc -funksjonen for å tildele minne og sjekke feilen for minnetildeling. Så start implementeringen ved å bare logge inn fra Linux -systemet.

Eksempel 01

Vårt første eksempel vil være å tildele et minne mens du returnerer en peker på C -språket. Åpne Linux -terminalen din med en hurtigtast “Ctrl+Alt+T”. Opprett en ny fil “Malloc.C ”med en" berøring "-kommando i skallet ditt og åpner den deretter i GNU -redaktøren.

Nå som filen er åpnet i redigereren, legg til de nødvendige overskriftsfilene som vist på bildet nedenfor. Vi har erklært hovedmetoden i den mens vi initialiserte en peker “P”. Malloc -metoden har blitt brukt til å lage et minne, og størrelsen på minnet som nettopp er opprettet, vil bli returnert til pekeren “P”. Dette var standard syntaks for å tildele eller opprette et minne i C. "Hvis" -uttalelsen illustrerer at hvis pekerverdien ikke er null, vil den trykke at minnet er opprettet med hell.

Lagre kodefilen din med "Ctrl+S" og hopp tilbake til terminalen ved å bruke "Ctrl+S". "GCC" -kompilatoren har blitt mye brukt til sammenstilling av C -filer i Linux. Vi vil også bruke det. Etter utførelsen av en fil har vi en suksessmelding.

Eksempel 02

La oss se etter eksemplet som illustrerer hvordan systemet gjennom et unntak hvis det oppstår noen feil. Så vi har åpnet den samme filen i “GNU” -redaktøren. Innenfor hovedmetoden har vi initialisert en konstant heltallstypevariabel “Array_Size” som indikerer at en matriser er tom. I neste linje har vi definert en peker av lang dobbelttype. Array_Size -verdien har blitt brukt til å lage et minne og returnert til en peker “P”. Hvis verdien av en peker tilsvarer null, vil systemet skrive ut at feilen har oppstått og systemet er utenfor minnet. Programmet blir avsluttet samtidig. Hvis "hvis" -uttalelsen ble gjort urett, vil den ytre utskriftserklæringen bli utført.

La oss bare sammenstille Malloc.C -fil først med en GCC -kompilator i Linux Shell og deretter utføre den. Som verdien som er definert i den konstante heltallvariabelen “Array_Size” var null. Derfor kastet den en feil og viste at systemet var ute av minnet.

Eksempel 03

La oss ha en annen illustrasjon for å se arbeidet med Malloc -metoden på C -språket. Den nye filen “Ny.C ”er åpnet i redaktøren. Alle de nødvendige overskriftsfilene er inkludert. Hovedmetoden har blitt brukt til å initialisere en heltallvariabel “n”. Utskriftserklæringen har blitt brukt til å be brukeren om å oppgi et ønsket nummer. SCANF-metoden brukes for å få brukerinjustert verdi og binde den verdien med variabel “n”. Malloc -funksjonen har blitt brukt til å sjekke oppretting av minne og gå tilbake til en peker “P”. Den samme sjekken har blitt brukt på nullpekerverdien. Den første "for" -sløyfen får inngang fra brukeren og oppsummerer den med pekerverdien. Andre “for” -sløyfe har blitt brukt til å skrive ut sum-up-verdien.

Samlingen og utførelsen er gjort som nedenfor. Brukere skrev inn verdiene og fikk den resulterte verdien.

Vi har oppdatert koden og tilordnet en tom verdi til variabel “n” for å se endringen.

Siden minnestørrelsen ikke er definert, viser utførelsen etter samlingen feilmeldingen “Memory Not tilgjengelig”.

Konklusjon

Denne opplæringen inneholder de beste eksemplene som vil hjelpe deg å se hvordan Malloc -metoden fungerer for å identifisere en feil ved minnetildelingsproblem. Vi håper du ikke har noe problem mens implementeringen av Malloc -funksjonen.