Hvordan lage en rekke strenger ved hjelp av Malloc i C -programmering

Hvordan lage en rekke strenger ved hjelp av Malloc i C -programmering

C Programmeringsspråk er et av de berømte strukturerte språkene som inkluderer mange grunnleggende komponenter, og matriser er en av dem. Arrays blir referert til som en samling av lignende typer elementer som er lagret i sammenhengende minneblokker. Disse er av to typer: statisk matrise og dynamisk matrise. I den statiske matrisen er størrelsen på matrisen fikset. Men i et dynamisk utvalg tildeles minnet dynamisk.

Dette innlegget vil demonstrere:

  • Forutsetning: Installer C -kompilator
  • Hva er "Malloc ()”I C -programmering?
  • Hvordan lage en rekke strenger ved å bruke “Malloc ()”I C -programmering?

Forutsetning: Installer C -kompilator

C -kompilator brukes til å transformere kildekode til binær eller objektkode eller for å utføre C -programmet. For å installere C -kompilatoren på Windows, kan du sjekke ut den andre dedikerte artikkelen.

Hva er “Malloc ()” i C -programmering?

Arrayen i C -programmering har en definert størrelse. Noen ganger kan imidlertid matrisestørrelsen være utilstrekkelig eller overdreven, noe som sløser med minnet. For å overvinne matrisebegrensninger bruker utviklere flere funksjoner for å tildele minne dynamisk til matrisen. Ulike C -bibliotekfunksjoner, for eksempel gratis (), calloc (), realloc () og malloc (), brukes til å tilordne minne dynamisk. Mer spesifikt er Malloc () en minnetildelingsfunksjon som brukes til å reservere minne for et spesifisert antall byte.

Syntaks

Pointer = (Cast-type*) Malloc (størrelse på byte)

Hvordan lage en rekke strenger ved å bruke “Malloc ()” i C -programmering?

For å lage en rekke strenger og tilordne den en minneblokk gjennom “Malloc ()”Funksjon, se på det oppgitte eksemplet.

Trinn 1: Lag en rekke streng ved å bruke "Malloc ()" -funksjonen

For å lage en rekke strenger ved hjelp av C Standard Library -funksjonen “Malloc ()”Åpne først Visual Studio Code Editor på Windows og lim inn den medfølgende koden i en programfil med".c" Utvidelse:

#inkludere
#inkludere
#inkludere
Int Main (Void)

int størrelse, i;
printf ("Vennligst skriv inn størrelsen på array: \ n");
scanf ("%d", og størrelse);
char *str_array [størrelse];
char array_i [størrelse];
printf ("Enter The Strings: \ n");
for (i = 0; i
scanf ("%s", array_i);
str_array [i] = (char*) malloc (strlen (array_i)*sizeof (char));
strcpy (str_array [i], array_i);

printf ("Stringene dine var: \ n");
for (i = 0; i
printf ("%s \ n", str_array [i]);

retur 0;

Beskrivelsen av den ovennevnte koden er gitt nedenfor:

  • h”Bibliotek brukes til minnetildeling,“streng.h”Brukes til å utføre operasjonen relatert til strengmanipulering, og“stdio.h”Brukes til å inkludere inngangs-/utgangsstrømmen.
  • Deretter har vi definert "Int Main (Void)”For å erklære funksjonen uten noe argument. Her, "tomrom”Parameter spesifiserer at det ikke er nødvendig med returverdi.
  • Deretter har vi erklært to variabler. “størrelse”Brukes til å få det totale antallet strengoppføringer, og“Jeg”Brukes til sløyfe iterasjon. Begge variablene er av “int" data-type.
  • Scanf”Brukes til å få eller lese inngangsstrømmen fra tastaturet.
  • Deretter initialiserte vi to matriser av “røye”Type. Den første matrisen er en pekermatrise som brukes til å peke og lagre strenger. Den andre matrisen er en enkel “røye”Array brukt i“Malloc”Funksjon for å godta en streng fra brukeren.
  • Strcpy”Funksjon brukes til å kopiere strengen. Det er inkludert i programmet gjennom "h”Bibliotek.
  • Vi har brukt “Malloc ()”Funksjonen til“Char*”Type rollebesetning. Det brukes til å tildele minne dynamisk. “Malloc ()”Funksjon multipliserer karakterens størrelse med en rekke karakterbyte for å tildele tilstrekkelige minneblokker.
  • Pekerarrayen “str_array [i]”Brukes til å peke og lagre strenger i matrisen.
  • Til slutt "til”Loop brukes til å iterere matrisen. Etter det trykket vi matrisen med "printf”Funksjon.

Trinn 2: Åpen terminal

Deretter lanserer du terminalen fra Visual Studio -menylinjen:

Trinn 3: Kompiler C -programmet

Neste, bruk "GCC”C Compiler for å kompilere programmet ved å bruke den nevnte kommandoen:

> GCC Malloc.c

Her, “Malloc.c”Er C -programmet som vi har gitt instruksjoner i trinn 1:

Ved å gjøre det vil kompilatoren opprette en kjørbar fil for å kjøre C -programmet som vist nedenfor:

Trinn 4: Utfør samlet program

Deretter kjører du C -programmet ved å utføre “en.EXE”Fil:

> ./en.EXE

Det kan observeres at vi med hell har laget en dynamisk rekke strenger ved å bruke "Malloc ()”Funksjon.

Konklusjon

For å lage en rekke strenger ved å bruke “Malloc ()”C Standardfunksjon, Opprett først et enkelt C -program og erklær to matriser, hvorav den ene er en peker -matrise. Etter det, bruk "Malloc ()”Funksjon ved å bruke“Pointer-array = (Cast-type*) Malloc (input-array*størrelse på røye)”Syntaks. Deretter kopierer du strengmatriser ved hjelp av “Strcpy”Funksjon. Dette innlegget har demonstrert metoden for å lage en strengmatrise ved å bruke "Malloc ()”I C -programmering.