Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  


AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Functii prototip

c

+ Font mai mare | - Font mai mic





DOCUMENTE SIMILARE

Trimite pe Messenger
Argumentele liniei de comanda
Liste dublu legate
TEHNICI DE IMPLEMENTARE A TIPULUI DE DATE ABSTRACT (TDA) GRAF
Operatii cu liste liniare simplu inlantuite
ALGORITMI SI PROGRAMARE. DESCRIEREA ALGORITMILOR
Accesul la biblioteca standard
Instructiunea repetitiva DO WHILE
Pointeri pe caractere si functii
#include<iostream
Inchiderea unui fisier

TERMENI importanti pentru acest document

Functii prototip

Dupa cum se stie, inaintea folosirii unei functii care intoarce o alta valoare decat int, aceasta trebuie definita.




Functiile prototip au fost adaugate de comitetul ANSI-C standard. Declararea unei functii prototip se face conform urmatorului format:

tip nume_functie (tip_arg1, tip_arg2,)

unde: tip = tipul valorii intoarse de functie;

tip_arg1, tip_arg2, = tipurile argumentelor functiei.

Exemplu: Programul urmator va determina compilatorul sa emita un mesaj de eroare sau de avertisment deoarece acesta incearca sa apeleze functia func() avand al doilea argument de tip int, in loc de float, cum a fost declarat in functia func():

#include <stdio.h>

void func(int, float);//Prototipul functiei func()

void main (void) /* Se afiseaza o nepotrivire */

void func (x, y) /* Parametrii functiei sunt: */

int x; /* x - intreg */

float y; /* y - real */

Functiile prototip se folosesc pentru a ajuta compilatorul in prima faza in care functiile utilizate sunt definite dupa programul principal. Acesta trebuie instiintat asupra tipul datei returnat de o functie pentru a aloca corect memoria. Daca functiile sunt declarate inaintea liniei de program main(), functiile prototip nu mai sunt necesare, deoarece compilatorul extrage informatia despre functii in momentul in care parcurge corpul definitiei lor.

Spre exemplu, programul de mai sus se poate scrie si sub forma urmatoare, in care nu vom mai avea o declaratie de functie prototip:

#include <stdio.h>

void func (x, y) /* Parametrii functiei sunt: */



int x; /* x - intreg */

float y; /* y - real */

void main (void) /* Nu se afiseaza nepotrivire */

Utilizand recomandarile ANSI-C din 1989, programul de mai sus se poate scrie mai compact:

#include <stdio.h>

void func (int x, float y) /* Parametrii formali

includ tipul */

void main (void) //afisare avertisment de conversie

sau, folosind functia prototip:

#include <stdio.h>

void func(); /* Declarare prototip fara

parametri formali ! */

void main (void)

void func (int x, float y) /* Parametrii formali

includ tipul */

In ultimul program am evidentiat o recomandare care simplifica efortul de programare in sensul ca in linia de declarare a prototipurilor functiilor folosite este necesar sa definim tipul functiei nu si tipul parametrilor formali. Compilatorul se informeaza despre tipul parametrilor formali la parcurgerea corpului definitiei functiei.

Din cele de mai sus se observa ca folosirea functiilor prototip ne ajuta la verificarea corectitudinii programelor, deoarece nu este permisa apelarea unei functii cu alte tipuri de argumente, decat tipul celor declarate.






Politica de confidentialitate



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 464
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2022 . All rights reserved

Distribuie URL

Adauga cod HTML in site