C Uporabniško določene funkcije

V tej vadnici se boste s pomočjo primera naučili ustvarjati uporabniško določene funkcije v programiranju C.

Funkcija je blok kode, ki izvaja določeno nalogo.

C vam omogoča, da določite funkcije glede na vaše potrebe. Te funkcije so znane kot uporabniško določene funkcije. Na primer:

Recimo, da morate ustvariti krog in ga obarvati glede na polmer in barvo. Za rešitev te težave lahko ustvarite dve funkciji:

  • createCircle() funkcijo
  • color() funkcijo

Primer: Uporabniško določena funkcija

Tu je primer dodajanja dveh celih števil. Za izvedbo te naloge smo ustvarili uporabniško določeno 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 ) 

Prototip funkcije

Prototip funkcije je preprosto izjava funkcije, ki določa ime, parametre in vrsto vrnitve funkcije. Ne vsebuje funkcionalnega telesa.

Prototip funkcije daje prevajalniku informacije, da bo funkcijo pozneje mogoče uporabiti v programu.

Sintaksa prototipa funkcije

 returnType functionName (argument1 tipa1, argument2 tipa2,…);

V zgornjem primeru int addNumbers(int a, int b);je prototip funkcije, ki prevajalniku zagotavlja naslednje informacije:

  1. ime funkcije je addNumbers()
  2. vrnjeni tip funkcije je int
  3. dva argumenta tipa intse preneseta v funkcijo

Prototip funkcije ni potreben, če je pred main()funkcijo definirana uporabniško določena funkcija.

Klicanje funkcije

Nadzor programa se prenese na uporabniško določeno funkcijo tako, da ga pokličete.

Sintaksa klica funkcije

 functionName (argument1, argument2,…);

V zgornjem primeru se klic funkcije izvede z uporabo addNumbers(n1, n2);stavka znotraj main()funkcije.

Opredelitev funkcije

Opredelitev funkcije vsebuje blok kode za izvajanje določene naloge. V našem primeru dodamo dve številki in jo vrnemo.

Sintaksa definicije funkcije

 returnType functionName (argument1 tipa1, argument2 tipa2,…) (// telo funkcije) 

Ko je funkcija poklicana, se nadzor nad programom prenese v definicijo funkcije. Prevajalnik začne izvajati kode znotraj telesa funkcije.

Posredovanje argumentov funkciji

Pri programiranju se argument nanaša na spremenljivko, ki je posredovana funkciji. V zgornjem primeru sta med funkcijskim klicem posredovani dve spremenljivki n1 in n2.

Parametra a in b sprejmeta posredovane argumente v definiciji funkcije. Ti argumenti se imenujejo formalni parametri funkcije.

Vrsta argumentov, posredovanih funkciji, in formalni parametri se morajo ujemati, v nasprotnem primeru bo prevajalnik vrgel napako.

Če je n1 tipa char, mora biti tudi tipa char. Če je n2 tipa float, mora biti spremenljivka b tudi tipa float.

Funkcijo lahko pokličete tudi brez podajanja argumenta.

Izjava o vrnitvi

Stavek return zaključi izvajanje funkcije in vrne vrednost klicni funkciji. Krmilnik programa se po vrnitvi izjave prenese na klicno funkcijo.

V zgornjem primeru se vrednost spremenljivke rezultata vrne glavni funkciji. Spremenljivki vsote v main()funkciji se dodeli ta vrednost.

Sintaksa stavka return

 vrnitev (izraz); 

Na primer

vrni a; vrnitev (a + b);

Tip vrednosti, vrnjene iz funkcije, in vrsta vrnitve, določena v prototipu funkcije in definiciji funkcije, se morata ujemati.

Obiščite to stran, če želite izvedeti več o posredovanju argumentov in vračanju vrednosti iz funkcije.

Zanimive Članki...