C-programmeerimiskeele funktsioone kasutatakse ühe programmi jooksul korduvate toimingute seeria sooritamiseks. Mõnikord eraldatakse suur plokk mõnest abiarvutusest ka eraldi funktsiooniks. Reeglina kutsutakse funktsiooni koos määratud argumentide edastamisega. Funktsioon võib olla kas väärtuse tagastamine või lihtsalt mitme konkreetse toimingu sooritamine. Funktsioonile saab helistada alles pärast selle kirjelduse või prototüübi deklareerimist.
See on vajalik
C programmeerimiskeskkond
Juhised
Samm 1
Funktsiooni deklaratsiooni saab teha päisefailis laiendiga.h. Sellisel juhul saate funktsiooni väljakutset kasutada ükskõik millises programmikoodis, muretsemata selle deklaratsiooni nähtavuse pärast. Päisefailid lisatakse failidesse, mille laiend on.срр kohe alguses, rida: #include "My_sag.h".
2. samm
Deklareerige funktsioon järgmiselt: bool My_fanc (märk p1, int p2). Siin on My_fanc teie programmi ainulaadne funktsiooninimi. Järgmist funktsiooni kirjeldust saab täita kõikjal programmi koodis. Selleks määrake tagastuse tüüp, funktsiooni nimi ja kõik edastatud argumendid. Pärast seda kirjutage funktsiooni toimingud lokkis sulgudes, mis ümbritsevad funktsiooni keha.
3. samm
Koodi kohta, kus soovite selle funktsiooni toiminguid teha, kirjutage selle nimi ja edastage sellele kõik vajalikud argumendid. Läbitud väärtuste tüüp peab olema sama mis deklareeritud tüüp. Määrake tagastatav väärtus sama tüüpi muutujale: bool Res = My_fanc (“H”, 24). Funktsioonile saab argumente edastada nii määratud tüüpi muutujate kui ka püsiväärtuste abil.
4. samm
Ülekoormatud funktsiooni kutsumisel võib selle päise sama argumendi arv olla erinev. Oluline on siin nende väärtused õigesti määratleda, kuna kompilaator ei pruugi tuvastada teie viga funktsioonikõnes.
5. samm
Funktsiooni saab kutsuda kursori abil. Selleks deklareerige see osuti ja määrake talle funktsiooni aadress: int (* p_F) (const char *, const char *); p_F = Minu_fänn. Sellisel juhul saab funktsiooni Minu_fant väljakutse kirjutada kursori viitena. Näiteks saate nii edastada funktsiooni aadressi argumendina teisele funktsioonile: copy (n, p_F). Seega juba kopeerimisfunktsioonis näeb väljakutse My_fanc välja järgmine: (* p_F) (a, b), kus a, b on kutsutud funktsiooni argumendid. Mis tahes rakendatud kõne töö tulemus vastab funktsiooni programmeeritud toimingutele.