Pointeri la functii

Trimis la data: 2010-09-02
Materia: Fizica
Nivel: Facultate
Pagini: 11
Nota: 9.20 / 10
Downloads: 3
Autor: Melina Nerzea
Dimensiune: 174kb
Voturi: 1
Tipul fisierelor: pdf
Acorda si tu o nota acestui laborator:
1.1. Declararea unui pointer la functii
Pointerii folositi pana acum au fost pointeri la diferite tipuri de date, dar este posibil sa avem si pointeri la functii. Pointerii la functii sunt folositi din aceleasi motive ca si pointerii la date: atunci cand se doreste un alt nivel de indirectare, cand dorim ca aceeasi secventa de cod sa apeleze functii diferite depinzand de conditiile concrete
ale programului.

Laboratoare similare:

Exemplu, daca scriem int (*pfi)(float a, int b);
se declara pfi ca fiind un pointer la o functie care va returna un intreg. Ca si in alte declaratii * indica faptul ca avem un pointer, iar ( ) arata ca avem de a face cu o functie.

Parantezele din (*pfi) sunt necesare deoarece si in declaratii exista o anumita precedenta a operatorilor (o anumita ordine de evaluare - interpretare) ca si in expresii si cand ordinea implicita nu este cea dorita, trebuie sa o schimbam folosind parantezele de explicitare.

In declaratii, ( ) - operatori de functie si [ ] - operatorii
de indexare sunt mai prioritari decat * indicand pointerii. Fara parantezele mentionate, declaratia de mai sus arata astfel: int *pfi(float a, int b).

In aceste exemple am folosit operatorul &, asa cum am facut pana acum pentru a genera un pointer. Totusi cand generam pointeri la functii, operatorul & este optional, deoarece atunci cand mentionam numele unei functii fara sa o apelam mentionam de fapt adresa functiei respective, numele unei functii fiind de fapt un pointer la functia data. Astfel se poate scrie: pfi = f1;
Home | Termeni si conditii | Politica de confidentialitate | Cookies | Help (F.A.Q.) | Contact | Publicitate
Toate imaginile, textele sau alte materiale prezentate pe site sunt proprietatea referat.ro fiind interzisa reproducerea integrala sau partiala a continutului acestui site pe alte siteuri sau in orice alta forma fara acordul scris al referat.ro. Va rugam sa consultati Termenii si conditiile de utilizare a site-ului. Informati-va despre Politica de confidentialitate. Daca aveti intrebari sau sugestii care pot ajuta la dezvoltarea site-ului va rugam sa ne scrieti la adresa webmaster@referat.ro.