Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- /* Függvénypointerek*/
- /*Függvénymutató egy olyan függvényre, ami 2 int változót vár argumentumként. */
- typedef int (*Ffgvptr)(int, int);
- /* Függvénymutató egy olyan függvényre, ami egy olyan függvényre mutat, ami intet ad vissza és két intet vár bemenetként.
- Maga a függvénymutató egy argumentumot vár bemenetként, egy int változót. */
- typedef int (*(*Gfgvptr) (int)) (int, int);
- /* Függvény két változó értékének összeadására. */
- int
- f1 (int a, int b)
- {
- return a + b;
- }
- /* Függvénymutató, ami olyan függvényre mutat, ami egy olyan függvényre mutat, ami
- két intet vár argumentumként és intet ad vissza. Ezen felül van 1 paramétere a függvénymutatónak, egy int (c).*/
- Ffgvptr g1(int c)
- {
- printf ("%d\n", c);
- return f1;
- }
- int
- main ()
- {
- /* Függvénymutató, amely két int változót vár argumentumként. */
- Ffgvptr f;
- /* A mutatót "ráállítjuk" az f1 függvényre*/
- f = f1;
- /* Kiírjuk az f által mutatott függvény eredményét.*/
- printf ("%d\n", f (2, 2));
- /* Újabb függvénymutató*/
- Gfgvptr g;
- /* A mutatót "ráállítjuk" a g1-re. */
- g = g1;
- /*f-et ráállítjuk a g eredményeként visszaadott függvényre.*/
- f = g (42);
- /* Kiírjuk az f által mutatott függvény eredményét.*/
- printf ("%d\n", f (2, 2));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement