C Felhasználó által definiált funkciók

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:

  1. a függvény neve addNumbers()
  2. A függvény return típusa int
  3. két típusú argumentumot inttová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.

érdekes cikkek...