Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

CATEGORII DOCUMENTE





loading...

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


Argumente - apel prin valoare

c

+ Font mai mare | - Font mai mic






DOCUMENTE SIMILARE

Trimite pe Messenger
STRUCURA DE DATE DE TIP GRAF
O colectie de programe utile
PRELUCRARI ASUPRA SIRURILOR DE CARACTERE
If-Else
Cautare in tabele
Intrarea formatata-scanf
Pointeri si adrese
Pointeri si argumente de functii
Operatori logici pe biti
PROIECT - un program C++ care citeste de la tastatura un numar natural n

TERMENI importanti pentru acest document

Argumente - apel prin valoare

Un aspect al functiilor din limbajul C s-ar putea sa fie nefamiliar programatorilor obisnuiti cu alte limbaje, in particular cu FORTRAN sau PL/1.




In C, toate argumentele functiei sint transmise 'prin valoare'. Aceasta inseamna ca functiei apelate i se transmit valorile argumentelor in variabile temporare (de fapt intr-o stiva ) si nu i se transmit adresele lor. Aceasta duce la citeva proprietati diferite fata de limbajele cu 'apel prin referinta' de tipul FORTRAN si PL/1, in care rutina apelata minuieste adresele argumentelor si nu valorile lor.

Principala distinctie este aceea ca in limbajul C, functia apelata nu poate altera o variabila in functia apelata; ea poate altera numai copia ei temporara si privata.

Apelul prin valoare este, cu toate acestea un avantaj si nu o obligatie. Uzual, el conduce la programe mai compacte cu mai putine variabile inutile, deoarece argumentele pot fi tratate ca variabile locale initializate convenabil in rutina apelata.

Drept exemplu, dam in continuare o versiune a functiei power care face uz de acest fapt.

power(x,n) /*ridica pe x la puterea a n-a; n > 0;versiunea 2*/



int x, n;

Argumentul n este folosit ca o variabila temporara, si este decrementat pina cind devine zero; nu mai este nevoie de variabila i. Ceea ce se face cu n in interiorul lui power nu are nici un efect asupra argumentului cu care a fost apelata power initial.

Cind este necesar, este posibil sa aranjam ca o functie sa modifice o variabila in rutina apelanta. Apelandul trebuie sa dea adresa variabilei de setat (in mod tehnic, sa creeze un pointer la variabila),iar functia apelata trebuie sa declare argumentul ca fiind un pointer si sa refere variabila reala in mod indirect prin el. Vom discuta in detaliu aceste probleme in Capitolul 5.

Cind numele unui tablou este folosit ca si argument, valoarea transmisa functiei este locatia sau adresa de inceput a tabloului. (Nu se face nici o copiere de elemente de tablou). Indiciind aceasta valoare, functia poate avea acces si altera orice element al tabloului. Acesta este subiectul urmatoarei sectiuni.








Politica de confidentialitate

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 344
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 2020 . All rights reserved

Distribuie URL

Adauga cod HTML in site