Passerer en streng til en funksjon i C

Passerer en streng til en funksjon i C

Før vi dykker inn i hovedscenariet med å sende strengen til en funksjon, la oss gi deg en grunnleggende introduksjon av hva stikkene er. Strenger er en sekvens eller en rekke tegn kjent som en char -datatype på C -språk. Årsaken til at vi uttalte at det er en rekke tegn er at når brukeren typer:

ELLER

Som en helhet betyr begge linjer at det bare er en rekke tegn som bruker en rekke røyevariabler for lagring. En streng er vedlagt i et dobbelt anførselstegn (i.e., “Ijklm”). I motsetning til et tegn vedlagt i et enkelt anførselstegn per karakter (i.e. 'Jeg', 'J', ... '\ 0').

For å avslutte karaktersekvens eller streng, a NULL Karakter brukes, som er \ 0. Det er en god praksis å avslutte en rekke karakterer med en \ 0 mens du initialiserer. Men når kompilatoren kommer over et dobbelt sitat merket en streng med tegn, legger den til \ 0 på slutten som standard.

Det er nok oversikt over strenger til å la oss komme til hovedoppgaven med å gi strengen til en funksjon. Det kan være mange måter å gjøre denne oppgaven. I denne opplæringen vil vi diskutere to metoder for å utføre denne oppgaven:

  1. Normalt passerer en strengmatrise.
  2. Passere strengen ved hjelp av pekere.

Eksempel 1

I vårt første eksempel vil vi gi strengen til en funksjon som gjøres for alle andre vanlige utvalg (i.e., flyte, heltall eller dobbel matrise). Åpne en notisblokk og gi den navnet du ønsker. Vi navngir det som “myprogram.CPP ”

.CPP er en utvidelse som brukes på slutten av C -programmeringsfiler, slik at kompilatoren under utførelse vet at denne filen inneholder C -språkkode. Annen relevant informasjon kan også legges til.

Gå nå til Windows CMD og skriv inn følgende listede instruksjoner:

$ gcc -o [ditt filnavn] [ditt filnavn].CPP

GCC er en C -kompilator; Ved å skrive følgende kommando ber vi kompilatoren om å kompilere vår .CPP -fil.

Etter filsamling, må det ha blitt opprettet en EXE -fil for den nyopprettede notisblokkfilen. For utførelsen vil vi skrive den listede spørringen i CMD:

$ [Ditt filnavn].EXE

[Ditt filnavn] vil bli erstattet av navnet på den opprettede filen. Nå skal vi fylle notisblokkfilen vår med C språkkode. Med utgangspunkt i funksjonserklæring, må vi erklære strengfunksjonen vår.

Returtypen holdes ugyldige fordi den vil vise en suksessmelding om vellykket bortgang av stikk inn i funksjonen. Parameteren for min getString -funksjon er karaktertype -array -variabelen fordi det er slik de ordinære matrisefunksjonene er erklært.

Vår hovedfunksjonskarakteri vil bli erklært og initialisert med en indeksstørrelse på 50 (forutsatt at denne størrelsen vil være nok for dette eksemplet). Etter array -erklæring vil vi lagre brukerinngang i vår nylig erklærte array -variabel ved hjelp av GET -funksjonen (Get -funksjonen brukes til å hente strenginngang direkte uten å bruke for eller noen annen type sløyfe).

Nå må vi lage en funksjonsanrop for GetString -funksjonen og passere strengvariabelen i den.

La oss begynne å kode for vår getString -funksjon. Vi har bestått strengargumentet fra hovedfunksjonen. Lag en funksjonsdefinisjon og vis strengparameteren for forsikring.

Det er alt. La oss teste koden vår for å se om den var effektiv eller ikke.

Som du ser vises suksessmeldingen. Det betyr at programmet vårt er utført effektivt.

Eksempel 2

I dette eksemplet vil vi prøve å gi en streng inn i funksjonen ved hjelp av pekere. Bor for koding er det samme som før du starter, fra å endre funksjonserklæringen. I stedet for å passere en rekke tegn, vil vi passere en strengpeker. På den måten vil strengens adresse bli sendt videre til funksjonen, ved å bruke den adressestrengen vil bli hentet ut og vises på konsollen. For å erklære pekeren, må vi skrive * med et hvilket som helst variabelt navn.

Etter å ha passert pekeren, er alt vi trenger å gjøre å finpusse funksjonsdefinisjonen. For å sende strengpekeren fra hovedfunksjonen til GetString -funksjonen. Ligner på måten det er gjort i koden nevnt nedenfor.

La oss teste koden vår for å se om den var vellykket eller ikke.

Vi kan se tydelig fra skjermdumpen over at programmet vårt sender strengen til funksjonen uten et hitch ved hjelp av en peker.

Konklusjon

Denne artikkelen dekket hva strenger er, forskjellen mellom karakter/streng, og noen få eksempler for å overføre en streng til en funksjon. Eksemplene kan brukes i henhold til arbeidskravene dine. Jeg håper denne opplæringen var lett å forstå og tømme alle spørsmålene dine relatert til å gi strengen til en funksjon på C -språket.