Funcții în C

Previzualizare referat:

Extras din referat:

Daca acest studiu s-ar dori exhaustiv, ar trebui sa precizam ca la inceput a fost haosul Cu riscul de a parea superficiali, vom sari insa peste unele etape ce nu fac obiectul prezentei lucrari, pentru a surprinde gestul omului de cromagnon care, vizibil afectat de urmarile transformarii energiei cinetice in energie potentiala de deformare la interactiunea dintre propria regiune lombara si instrumentul complementar al vecinului de grota (bata), isi indreapta mana spre zona precedentului contact, acuzand astfel sursa senzatiei de disconfort. Asa a luat nastere conceptul de pointer.

Mai tarziu ajungem in anul 1853 cand se implineau deja cinci ani de la Revolutia din 1848 Facand o paranteza, putem preciza ca in informatica (in limbajele de programare de nivel mediu si inalt) pointerii, ca notiune, au fost introdusi din necesitatea de a controla pozitia efectiva in memorie atat a datelor (varibile, vectori, structuri etc.) cat si a codului (functii si proceduri). Pentru a intelege ce este un pointer la o functie trebuie stiut intai si intai ca, pentru calculator, intre date si cod nu exista nici o diferenta (la fel cum pentru personajul nostru prezentat mai sus nu exista nici o diferenta intre sunetele emise, dintre care spicuim: aaarrrg, aaaaaa, uuuuuu, a). Astfel, daca niste variabile declarate ca int a = 10; char b = 65; char c = a; vor fi reprezentate in memorie sub forma a 4 octeti cu valorile respectiv 10, 0, 65, 97, o functie precum void NuAmShtiutCeNumeSaDauFunctzieiAsteiaAsaCaAmScrisChestiaAsta{ a = 2; } va fi mai intai tradusa in instructiunea primara pentru atribuire a procesorului (mov) , linia a = 2; devenind: mov [a], 2 care va fi apoi codificata in 6 octeti cu valorile respectiv 199, 6, XL, XH, 2, 0, unde XL este octetul cel mai putin semnificativ al adresei lui a iar XH este octetul cel mai semnificativ al aceleiasi adrese (presupunand un model de memorie in care adresa se reprezinta pe 2 octeti). Un pointer la functia aratata mai sus va fi o variabila care va contine adresa octetului cu valoarea 192. Generalizand, un pointer la o functie oarecare este adresa primului octet al reprezentarii in memorie a codului acelei functii. Acestea fiind spuse, nu ne ramane decat sa aratam cum se pot folosi acesti pointeri la functii intr-un program C: #include // Asha se declara un pointer la o functzie: void (AstaEUnPointerLaOFunctzieCareAcceptaUnParametruIntreg*) (int a); void AstaEOFunctzieCareScriePeEcranParametrulIntregPrimit (int a) { printf (%d, a); } void main { // Asha se face o atribuire a unui pointer la o functzie: // (numele functziei fara parantezele subfixate inseamna pointer la acea // functzie) AstaEUnPointerLaOFunctzieCareAcceptaUnParametruIntreg = AstaEOFunctzieCareScriePeEcranParametrulIntregPrimit; // Iar acum putem apela functzia de mai sus prin pointerul la ea ...

Descarcă referat

Pentru a descărca acest document,
trebuie să te autentifici in contul tău.

Structură de fișiere:
  • Functii In C
    • Referat.doc
Alte informații:
Tipuri fișiere:
doc
Diacritice:
Da
Nota:
8/10 (2 voturi)
Anul redactarii:
2007
Nr fișiere:
1 fisier
Pagini (total):
9 pagini
Imagini extrase:
7 imagini
Nr cuvinte:
1 987 cuvinte
Nr caractere:
10 283 caractere
Marime:
16.81KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Gimnaziu
Tip document:
Referat
Materie:
Informatică
Predat:
la gimnaziu
Sus!