I C -programmering brukes matrisen til å lagre en rekke verdier av samme datatype, og den opptar litt plass i minnet som kan være enten statisk eller dynamisk. Malloc er en funksjon som brukes i C -programmeringen for dynamisk minnetildeling.
I denne artikkelen vil vi lære om Malloc -funksjonen for å lage en matrise i C -programmering.
Hva er en malloc () i C -programmering
Det dynamiske minnet blir tildelt programmet under utførelsen i henhold til det rommet som det trengs av det. I statisk minne blir det faste minnet tildelt programmet før utførelse av programmet som har følgende ulemper:
For å unngå disse ulempene, vil vi bruke den dynamiske minnetildelingsordningen, da denne ordningen vil tildele minnet om blokken som er nødvendig av programmet under utførelsen. Dynamisk minne har forskjellige funksjoner brukt som peker mot programmet.
Malloc () -funksjonen står for "Memory Allocation" og brukes til dynamisk minnetildeling mens utførelsen av programmet. Når malloc () -funksjonen kalles, sender den en forespørsel fra en minneblokk til haugen (det er et minnesegment der minnet blir tildelt tilfeldig). Hvis heapen har minne som tilsvarer den minneblokken, vil den godta forespørselen og tilordne den størrelsen til Malloc () -funksjonen mot forespørselen, og hvis den ikke har noe minne, vil den returnere nullverdien. Når vi er ferdige med minneblokken, kan vi fjerne den ved å bruke gratis () -funksjonen slik at minneblokken kan bli gratis og brukes av de andre programinstruksjonene. For dynamisk minnetildeling må vi inkludere “stdlib.H ”i overskriftsfiler og den generelle syntaksen for å bruke Malloc -funksjonen er:
1 | $ Pointer = (CastType*) Malloc (størrelse); |
Vi kan bruke hvilken som helst variabel i stedet for "peker", så kan vi erstatte "CastType" med datatypen hvis verdier skal lagres i matrisen. Bruk deretter Malloc () -funksjonen og nevne størrelsen på minnet vi trengte.
Hvordan bruke Malloc -funksjon i C -programmering for å lage en matrise
For en bedre forståelse av opprettelsen av en matrise ved hjelp av Malloc () -funksjonen, vil vi lage et program. For å bruke C -programmeringen i Linux, må vi installere GCC -kompilatoren ved hjelp av kommandoen:
1 | $ sudo apt install GCC |
Lag en tekstfil ved hjelp av Nano Editor:
1 | $ nano myfile.c |
Skriv inn følgende kode:
1 2 3 4 5 6 7 8 9 10 11 12 1. 3 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # inkluderer # inkluderer Int Main (Void) int størrelse, i, *my_array; printf (“\ n Vennligst skriv inn størrelsen på matrisen:”); SCANF (“%D” og størrelse); my_array = (int *) malloc (størrelse * sizeof (int)); printf (“\ n Angi verdiene til Array:”); for (i = 0; i printf (“\ n verdiene i matrisen er:”); for (i = 0; i printf (“\ n”); |
Lagre skriptet med navnet “MyFile.C ”ved hjelp av Ctrl+S og avslutt deretter redaktøren ved å trykke på Ctrl+X. Etter å ha lagret den, sammenstiller du koden og sjekk om det er noen feil eller ikke ved å bruke kommandoen:
1 | $ GCC MyFile.C -o MyFile |
"MyFile" vil være en kjørbar fil, kjøre "MyFile" ved hjelp av kommandoen:
1 | $ ./myfile |
Programmet ble utført med hell. Forklaringen på koden ovenfor er som:
Konklusjon
Malloc () -funksjonen brukes i dynamisk minnetildeling, og den kan også brukes til å lagre verdier i matrisen. I denne oppskrivningen har vi diskutert hvordan vi skal erklære og bruke matrisen ved hjelp av Malloc () -funksjonen. Den dynamiske minnetildelingstilnærmingen anbefales når du vil endre størrelsen på en matrise under utførelsen av programmet.