Ebben az oktatóanyagban megtanulja létrehozni a felhasználó által definiált függvényeket a C programozásban egy példa segítségével.
A függvény egy kódblokk, amely egy adott feladatot hajt végre.
A C lehetővé teszi a funkciók definiálását az Ön igényei szerint. Ezeket a funkciókat a felhasználó által definiált funkcióknak nevezzük. Például:
Tegyük fel, hogy létre kell hoznia egy kört, és ki kell színeznie a sugarától és a színétől függően. Két funkciót hozhat létre a probléma megoldására:
createCircle()
funkciócolor()
funkció
Példa: Felhasználó által definiált függvény
Itt van egy példa két egész szám hozzáadására. A feladat végrehajtásához létrehoztunk egy felhasználó által definiált fájlt 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 )
Funkció prototípus
A függvény prototípus egyszerűen egy olyan funkció deklarációja, amely meghatározza a függvény nevét, paramétereit és visszatérési típusát. Nem tartalmazza a body funkciót.
A függvény prototípusa információt szolgáltat a fordítónak arról, hogy a függvény később felhasználható a programban.
A funkció prototípusának szintaxisa
returnType functionName (type1 argumentum1, type2 argumentum2,…);
A fenti példában int addNumbers(int a, int b);
a függvény prototípusa, amely a következő információkat biztosítja a fordító számára:
- a függvény neve
addNumbers()
- A függvény return típusa
int
- két típusú argumentumot
int
továbbítunk a függvénynek
A függvény prototípusára nincs szükség, ha a felhasználó által definiált függvény a main()
függvény előtt van definiálva .
Funkció hívása
A program vezérlése a felhasználó által definiált függvényre kerül meghívással.
A függvényhívás szintaxisa
functionName (argumentum1, argumentum2,…);
A fenti példában a függvényhívást a függvényen addNumbers(n1, n2);
belüli utasítás segítségével hajtjuk végre main()
.
Funkció meghatározása
A funkciódefiníció egy adott feladat végrehajtásához szükséges kódblokkot tartalmazza. Példánkban két szám összeadása és visszaadása.
A függvénydefiníció szintaxisa
returnType functionName (type1 argumentum1, type2 argumentum2,…) (// a függvény törzse)
Funkció meghívásakor a program vezérlése átkerül a függvénydefinícióba. És a fordító elkezdi végrehajtani a kódokat a függvény törzsében.
Argumentumok átadása egy függvénynek
A programozás során az argumentum a függvénynek továbbított változóra vonatkozik. A fenti példában két n1 és n2 változót adunk át a függvényhívás során.
Az a és b paraméterek elfogadják az átadott argumentumokat a függvénydefinícióban. Ezeket az argumentumokat a függvény formális paramétereinek nevezzük.
A függvénynek átadott argumentumok típusának és a formális paramétereknek meg kell egyezniük, különben a fordító hibát dob.
Ha n1 char típusú, akkor az a-nak is char típusúnak kell lennie. Ha n2 úszó típusú, akkor a b változónak úszó típusúnak is kell lennie.
Egy függvény argumentum átadása nélkül is meghívható.
Visszatérési nyilatkozat
A return utasítás megszakítja a függvény végrehajtását és visszaad egy értéket a hívó függvénynek. A programvezérlés a visszatérési utasítás után kerül át a hívó funkcióba.
A fenti példában az eredményváltozó értéke visszatér a fő függvényhez. A main()
függvény összegváltozójához ez az érték tartozik.
A return utasítás szintaxisa
visszatérés (kifejezés);
Például,
vissza egy; visszatérés (a + b);
A függvényből visszaküldött érték típusának, valamint a függvény prototípusában és a függvény definíciójában megadott visszatérési típusnak meg kell egyeznie.
Látogasson el erre az oldalra, ha többet szeretne megtudni az argumentumok átadásáról és a függvény értékének megadásáról.