C Brukerdefinerte funksjoner

I denne opplæringen lærer du å lage brukerdefinerte funksjoner i C-programmering ved hjelp av et eksempel.

En funksjon er en blokk med kode som utfører en bestemt oppgave.

C lar deg definere funksjoner etter behov. Disse funksjonene er kjent som brukerdefinerte funksjoner. For eksempel:

Anta at du må lage en sirkel og fargelegge den avhengig av radius og farge. Du kan opprette to funksjoner for å løse dette problemet:

  • createCircle() funksjon
  • color() funksjon

Eksempel: Brukerdefinert funksjon

Her er et eksempel for å legge til to heltall. For å utføre denne oppgaven har vi opprettet en brukerdefinert addNumbers().

 #include int addNumbers(int a, int b); // function prototype int main() ( int n1,n2,sum; printf("Enters two numbers: "); scanf("%d %d",&n1,&n2); sum = addNumbers(n1, n2); // function call printf("sum = %d",sum); return 0; ) int addNumbers(int a, int b) // function definition ( int result; result = a+b; return result; // return statement ) 

Funksjonsprototype

En funksjonsprototype er ganske enkelt erklæringen til en funksjon som spesifiserer funksjonsnavn, parametere og returtype. Den inneholder ikke funksjonskropp.

En funksjonsprototype gir informasjon til kompilatoren om at funksjonen senere kan brukes i programmet.

Syntaks for funksjonsprototype

 returnType funksjonsnavn (type1 argument1, type2 argument2,…);

I eksemplet ovenfor int addNumbers(int a, int b);er funksjonsprototypen som gir kompilatoren følgende informasjon:

  1. funksjonens navn er addNumbers()
  2. funksjonen for retur er int
  3. to argumenter av typen intsendes til funksjonen

Funksjonsprototypen er ikke nødvendig hvis den brukerdefinerte funksjonen er definert før main()funksjonen.

Ringer til en funksjon

Kontroll av programmet overføres til den brukerdefinerte funksjonen ved å ringe det.

Syntaks for funksjonsanrop

 funksjonsnavn (argument1, argument2, …);

I eksemplet ovenfor blir funksjonsanropet gjort ved hjelp av addNumbers(n1, n2);uttalelse inne i main()funksjonen.

Funksjonsdefinisjon

Funksjonsdefinisjon inneholder kodeblokken for å utføre en bestemt oppgave. I vårt eksempel legger du til to tall og returnerer det.

Syntaks for funksjonsdefinisjon

 returnType functionName (type1 argument1, type2 argument2,…) (// body of the function) 

Når en funksjon kalles, overføres kontrollen av programmet til funksjonsdefinisjonen. Og kompilatoren begynner å utføre kodene inne i kroppen til en funksjon.

Overføring av argumenter til en funksjon

I programmering refererer argument til variabelen sendt til funksjonen. I eksemplet ovenfor overføres to variabler n1 og n2 under funksjonsanropet.

Parametrene a og b godtar de passerte argumentene i funksjonsdefinisjonen. Disse argumentene kalles formelle parametere for funksjonen.

Argumenttypen som sendes til en funksjon og de formelle parametrene må samsvare, ellers vil kompilatoren kaste en feil.

Hvis n1 er av røyetype, bør a også være av røyetype. Hvis n2 er av flytetype, bør variabel b også være av flytetype.

En funksjon kan også kalles uten å føre et argument.

Returuttalelse

Returuttalelsen avslutter utførelsen av en funksjon og returnerer en verdi til anropsfunksjonen. Programstyringen overføres til anropsfunksjonen etter returoppgaven.

I eksemplet ovenfor returneres verdien til resultatvariabelen til hovedfunksjonen. Sumverdien i main()funksjonen tildeles denne verdien.

Syntaks for returoppgave

 retur (uttrykk); 

For eksempel,

returnere a; retur (a + b);

Verditypen som returneres fra funksjonen og returtypen som er spesifisert i funksjonsprototypen og funksjonsdefinisjonen, må stemme overens.

Besøk denne siden for å lære mer om å sende argumenter og returnere verdi fra en funksjon.

Interessante artikler...