C Kasutaja määratud funktsioonid

Selles õpetuses õpite näite abil looma C-programmeerimisel kasutaja määratletud funktsioone.

Funktsioon on koodiplokk, mis täidab konkreetset ülesannet.

C võimaldab teil määratleda funktsioonid vastavalt teie vajadustele. Neid funktsioone nimetatakse kasutaja määratud funktsioonideks. Näiteks:

Oletame, et peate looma ringi ja värvima selle sõltuvalt raadiusest ja värvist. Selle probleemi lahendamiseks saate luua kaks funktsiooni:

  • createCircle() funktsioon
  • color() funktsioon

Näide: kasutaja määratud funktsioon

Siin on näide kahe täisarvu lisamiseks. Selle ülesande täitmiseks oleme loonud kasutaja määratletud 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 ) 

Funktsiooni prototüüp

Funktsiooni prototüüp on lihtsalt funktsiooni deklaratsioon, mis määrab funktsiooni nime, parameetrid ja tagastuse tüübi. See ei sisalda funktsiooni keha.

Funktsiooni prototüüp annab kompilaatorile teavet selle kohta, et seda funktsiooni võib hiljem programmis kasutada.

Funktsiooni prototüübi süntaks

 returnType functionName (tüüp1 argument1, tüüp2 argument2,…);

Kas ülaltoodud näites int addNumbers(int a, int b);on funktsiooni prototüüp, mis annab kompilaatorile järgmise teabe:

  1. funktsiooni nimi on addNumbers()
  2. funktsiooni return tüüp on int
  3. intfunktsioonile edastatakse kaks tüüpi argumenti

Funktsiooni prototüüpi pole vaja, kui kasutaja määratletud funktsioon on enne main()funktsiooni määratletud .

Funktsiooni kutsumine

Programmi juhtimine viiakse kasutaja määratud funktsioonile, helistades sellele.

Funktsioonikõne süntaks

 functionName (argument1, argument2,…);

Ülaltoodud näites tehakse funktsiooni väljakutse funktsiooni addNumbers(n1, n2);sees oleva lause main()abil.

Funktsiooni määratlus

Funktsiooni määratlus sisaldab koodiploki konkreetse ülesande täitmiseks. Meie näites kahe numbri lisamine ja tagastamine.

Funktsiooni määratluse süntaks

 returnType functionName (type1 argument1, type2 argument2,…) (// funktsiooni keha) 

Funktsiooni kutsumisel viiakse programmi juhtimine üle funktsiooni määratlusse. Ja kompilaator hakkab koode täitma funktsiooni kehas.

Argumentide edastamine funktsioonile

Programmeerimisel viitab argument funktsioonile edastatud muutujale. Ülaltoodud näites edastatakse funktsioonikõne ajal kaks muutujat n1 ja n2.

Parameetrid a ja b aktsepteerivad funktsiooni definitsioonis edastatud argumente. Neid argumente nimetatakse funktsiooni formaalseteks parameetriteks.

Funktsioonile edastatud argumentide tüüp ja formaalsed parameetrid peavad vastama, vastasel juhul loob kompilaator vea.

Kui n1 on char tüüpi, peaks a olema char tüüpi. Kui n2 on ujukitüüp, peaks muutuja b olema ka ujukitüüp.

Funktsiooni saab kutsuda ka argumenti edastamata.

Tagasi avaldus

Return-lause lõpetab funktsiooni täitmise ja tagastab kutsuva funktsiooni väärtuse. Programmi juhtimine viiakse pärast tagasipöördumislauset helistamisfunktsiooni.

Ülaltoodud näites tagastatakse tulemuse muutuja väärtus põhifunktsioonile. Funktsiooni summaarne muutuja main()omistab selle väärtuse.

Tagasilause süntaks

 tagasitulek (väljend); 

Näiteks,

tagastama a; tagasipöördumine (a + b);

Funktsioonilt tagastatava väärtuse tüüp ning funktsiooni prototüübis ja funktsiooni definitsioonis määratud tagastuse tüüp peavad vastama.

Funktsiooni argumentide edastamise ja väärtuse tagastamise kohta lisateabe saamiseks külastage seda lehte.

Huvitavad Artiklid...