C Käyttäjän määrittelemät toiminnot

Tässä opetusohjelmassa opit luomaan käyttäjän määrittelemiä toimintoja C-ohjelmoinnissa esimerkin avulla.

Funktio on koodilohko, joka suorittaa tietyn tehtävän.

C antaa sinun määrittää toiminnot tarpeidesi mukaan. Näitä toimintoja kutsutaan käyttäjän määrittelemiksi toiminnoiksi. Esimerkiksi:

Oletetaan, että sinun on luotava ympyrä ja väritettävä se säteen ja värin mukaan. Voit luoda kaksi toimintoa tämän ongelman ratkaisemiseksi:

  • createCircle() toiminto
  • color() toiminto

Esimerkki: Käyttäjän määrittämä toiminto

Tässä on esimerkki kahden kokonaisluvun lisäämisestä. Tämän tehtävän suorittamiseksi olemme luoneet käyttäjän määrittelemän 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 ) 

Toiminnon prototyyppi

Funktion prototyyppi on yksinkertaisesti funktion ilmoitus, joka määrittää funktion nimen, parametrit ja palautustyypin. Se ei sisällä funktion runkoa.

Funktion prototyyppi antaa kääntäjälle tietoa siitä, että toimintoa voidaan myöhemmin käyttää ohjelmassa.

Funktion prototyypin syntaksi

 returnType functionName (type1 argumentti1, type2 argumentti2,…);

Yllä olevassa esimerkissä int addNumbers(int a, int b);on funktion prototyyppi, joka antaa kääntäjälle seuraavat tiedot:

  1. funktion nimi on addNumbers()
  2. funktion palautustyyppi on int
  3. kaksi tyypin argumenttia intvälitetään funktiolle

Funktion prototyyppiä ei tarvita, jos käyttäjän määrittelemä toiminto on määritelty ennen main()toimintoa.

Funktion kutsuminen

Ohjelman hallinta siirtyy käyttäjän määrittelemään toimintoon kutsumalla sitä.

Funktiokutsun syntakse

 functionName (argumentti1, argumentti2,…);

Yllä olevassa esimerkissä funktiokutsu soitetaan funktion addNumbers(n1, n2);sisällä olevalla main()käskyllä.

Toiminnon määrittely

Funktion määrittely sisältää koodilohkon tietyn tehtävän suorittamiseksi. Esimerkissämme kahden numeron lisääminen ja palauttaminen.

Funktion määrittelyn syntakse

 returnType functionName (type1 argumentti1, type2 argumentti2,…) (// funktion runko) 

Kun toimintoa kutsutaan, ohjelman ohjaus siirtyy funktion määrittelyyn. Ja kääntäjä alkaa suorittaa koodeja funktion rungossa.

Argumenttien välittäminen funktiolle

Ohjelmoinnissa argumentti viittaa funktiolle välitettyyn muuttujaan. Edellä olevassa esimerkissä kaksi muuttujaa n1 ja n2 välitetään funktion kutsun aikana.

Parametrit a ja b hyväksyvät välitetyt argumentit funktion määrittelyssä. Näitä argumentteja kutsutaan funktion muodollisiksi parametreiksi.

Funktiolle välitettävien argumenttien tyypin ja muodollisten parametrien on vastattava, muuten kääntäjä heittää virheen.

Jos n1 on char-tyyppiä, a: n tulisi olla myös char-tyyppiä. Jos n2 on uimurityyppiä, muuttujan b tulisi olla myös uimurityyppiä.

Funktio voidaan kutsua myös välittämättä argumenttia.

Palautuslausunto

Palautuslauseke lopettaa toiminnon suorittamisen ja palauttaa arvon kutsuvalle funktiolle. Ohjelman ohjaus siirretään kutsutoimintoon paluulausekkeen jälkeen.

Edellä olevassa esimerkissä tulosmuuttujan arvo palautetaan pääfunktioon. main()Funktion summa-muuttujalle annetaan tämä arvo.

Palautuslausekkeen syntaksi

 paluu (lauseke); 

Esimerkiksi,

palauta a; paluu (a + b);

Funktion palauttaman arvon tyypin ja funktion prototyypissä ja funktion määritelmässä määritetyn palautustyypin on vastattava toisiaan.

Tältä sivulta saat lisätietoja argumenttien välittämisestä ja arvon palauttamisesta funktiosta.

Mielenkiintoisia artikkeleita...