Memcmp i c

Memcmp i c
Minne er den viktigste delen av ethvert program når du har en større mengde kode på verktøyet ditt. Samme sånn, C -språket kommer veldig nyttig for å sammenligne minnestørrelsen på mer enn 1 variabel i koden. Det kommer med "memcmp" -funksjonen for å utføre denne enkeltoppgaven jeg.e., Sammenlign minnestørrelsen på to variabler, strenger.

Det vil sjekke om de første “n” -tegnene til variabelen som er angitt som den første strengen er færre enn, tilsvarer eller større enn de første “n” tegnene i den andre variabelen i.e., streng. MEMCMP -metoden returnerer et negativt, null eller et positivt heltall i C -språket. Denne artikkelen er blitt brukt til å forstå memcmp () -funksjonen til C i koden. La oss derfor komme i gang med terminalen.

Eksempel 01:

La oss ta en ny start med opprettelsen av en C -fil i Ubuntu 20.04 Hjemmemappe. Benytt deg av Ubuntus berøringsinstruksjon for dette formålet. Vi har navngitt denne filen som "memcmp.C ”. Nå skal det åpnes i en eller annen redaktør av Linux for å lage kode i den i.e., Vim, Gnu Nano og Text Editor.

Vi har foretrekker Nano -redaktøren å åpne og lage kode i den. Begge kommandoene er vist på skjermdumpen nedenfor.

La oss starte vår første eksempelkode for C for å benytte meg av memcmp () -funksjonen i koden. For å starte denne koden, må vi kreve noen C -overskriftsfiler i starten av den for å få koden vår til å fungere. Disse bibliotekene inkluderer “stdio.H ”og“ String.h ”ved hjelp av" #include "nøkkelordet. Generelt sett vil det bli utført i hovedfunksjonen () for sammenligning av to strengverdier.

Et heltall "n" er blitt erklært. To-tegn type matriser eller strengverdier “A” og “B” i størrelse 10 er initialisert med strengverdier. Verdiene for begge karaktermatriser er de samme i lengden, men forskjellige i tekst I.e., kapital og små bokstaver med samme ord.

MEMCMP () -funksjonen har brukt A- og B -strengene i den for å sammenligne opp med de første 5 bokstavene i begge strengene. Returverdien vil bli lagret i "n" -variabelen.

#inkludere
#inkludere
void main ()
int n;
char a [10] = "linux";
Char B [10] = "Linux";
n = memcmp (a, b, 5);

Her kommer den nestede if-ests-uttalelsen. Den "hvis" -delen av uttalelsen sjekker om verdien av "n" er 0 eller ikke. I så fall vil vise at begge verdiene er like i minnestørrelse ved å bruke "printf" -funksjonen.

I "annet-hvis" vil den sjekke om verdien av "n" er større enn 0 eller ikke. I så fall vil den vise at den andre strengen er mindre enn den første strengen ved hjelp av "printf" -metoden. Den andre delen vil bli vist at den første strengen er mindre enn den andre strengen hvis verdien “n” er mindre enn 0 ved bruk av “printf” -funksjonen. La oss lagre koden vår for å kjøre den jeg.e., Ctrl+s.

if (n = 0)
printf ("a er lik b \ n");
annet hvis (n> 0)
printf ("b er mindre enn a \ n");
ellers
printf ("a er mindre enn b \ n");
retur 0;

Gjør samlingen av denne filkoden først med GCC -kompilatoren sammen med navnet på en fil. Etter det, kjør kodefilen med "./en.ut ”-kommandoen vist i det vedlagte bildet. Det presenterer at streng a er mindre enn streng b i.e., A er mindre i minnestørrelse.

Eksempel 02:

La oss ta et annet lignende eksempel for å se arbeidet med MEMCMP -funksjonen i C. Denne gangen har vi brukt store bokstavstrengen som A1 og den lille bokstavstrengen som A2 i.e., Motsatt til det første eksemplet.

Funksjonen memcmp () har blitt brukt til å sammenligne minnestørrelsen til de første 5 tegnene mellom A1- og A2 -variablene. Returresultatet er lagret i heltallet “n”.

If-ests-uttalelsen kommer godt med her. "Hvis" -delen vil sammenligne returverdien til "n" er større enn 0 eller ikke. I så fall vil den vise variabelen en streng er større enn streng A2 i minnestørrelse. Ellers, hvis "n" er mindre enn 0. ELTER-IF PRINTF () -funksjonen vil bli utført som viser at streng A er mindre i minnestørrelse enn strengen A2.

#inkludere
#inkludere
void main ()
int n;
char a1 [10] = "drømmer";
char a2 [10] = "drømmer";
n = memcmp (a1, a2, 5);
if (n> 0)
printf ("A1 er større enn A2 \ n");
annet hvis (n < 0)
printf ("A1 er mindre enn A2 \ n");

Hvis begge forholdene ovenfor ikke oppfyller og verdien av “n” er lik “0”, vil printf () -metoden vise at minnestørrelsen til A1 og A2 er den samme.

ellers
printf ("A1 er lik A2 \ n");
retur 0;

La oss kompilere C -koden vår før vi kjører den jeg.e., Bruke GCC -kompilatoren med filnavnet. Etter å ha kjørt filen, har vi fått beskjeden om at A1 er større enn A2 i minnestørrelse.

Eksempel 03:

La oss se til slutt, men ikke minst eksempler i denne artikkelen. Det er en endring i den samlede koden til denne filen. Vi har brukt samme verdi for strengvariabler A1 og A2 i samme størrelse I.e., 10.

Verdiene for begge variable strenger viser hele store bokstaver uten spesiell karakter og rom. Den samme memcmp () -funksjonen er her for å sammenligne minnestørrelsen på A1 og A2. De første 5 bokstavene for begge strengene vil bli sammenlignet. Den samlede samme prosedyren er blitt brukt i koden i.e., “If-elv” -uttalelse med de samme forholdene.

#inkludere
#inkludere
void main ()
int n;
char a1 [10] = "drømmer";
char a2 [10] = "drømmer";
n = memcmp (a1, a2, 5);
if (n> 0)
printf ("A1 er større enn A2 \ n");
annet hvis (n < 0)
printf ("A1 er mindre enn A2 \ n");
ellers
printf ("A1 er lik A2 \ n");
retur 0;

Kompilere og kjøre den nylig oppdaterte koden. Til gjengjeld har vi at A1- og A2 -strengene er like i minnestørrelse.

Konklusjon

Denne artikkelen handlet om bruk av MEMCMP -funksjonsbruk i programmeringsspråket C. Vi har samlet alle kodene ved å bruke GCC -kompilatoren i Ubuntu 20.04. Vi har lagt en enorm mengde hardt arbeid for å gjøre denne guiden lett å forstå for våre brukere.