Δείκτης συνάρτησης
Παράδειγμα C
[Επεξεργασία | επεξεργασία κώδικα]#include <stdio.h>
// Ορισμός δείκτη συνάρτησης
int (*fptrCompute) (int,int);
// Συναρτήσεις
int add(int n1, int n2) { return n1+n2; }
int sub(int n1, int n2) { return n1-n2; }
int main() {
// Αρχικοποίηση δείκτη μ ε τ η ν συνάρτηση add
fptrCompute = add;
// επιστρέφουν 9 κ α ι στις δύο περιπτώσεις
int result1 = add(4,5);
int result2 = fptrCompute(4,5);
// ισοδύναμη κλήση μ ε dereferencing
// int result2 = (*fptrCompute)(4,5);
// 9 9
printf("%d\t%d\n", result1, result2);
// Δείκτης μ ε τ η ν συνάρτηση sub
fptrCompute = sub;
int result3 = fptrCompute(4,5);
// -1
printf("%d\n", result3);
return 0;
}
Παραπομπές
[Επεξεργασία | επεξεργασία κώδικα]- ↑ «Working with Pointers». gcc.gnu.org. Ανακτήθηκε στις 24 Μαΐου 2014.
- ↑ Andrew J. Miller. «Fortran Examples». http://www.esm.psu.edu/~ajm138 fortranexamples.html. Ανακτήθηκε στις 14 Σεπτεμβρίου 2013.
- ↑ «The Function Pointer Tutorials». http://www.newty.de/: logo. Αρχειοθετήθηκε από
τ ο πρωτότυπο στις 16 Μαΐου 2011. Ανακτήθηκε στις 13 Απριλίου 2011.Function Pointers are pointers, i.e. variables, which point to the address of a function
- ↑ Reese, Richard (2013). Understanding and using C pointers (1
η έκδοση). Sebastopol, CA: O'Reilly Media. σελίδες 188-190. ISBN 978-1-449-34418-4.