Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  

 
CATEGORII DOCUMENTE





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

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.

DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 302
Importanta: rank

Comenteaza documentul:

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

Creaza cont nou

Distribuie URL

Adauga cod HTML in site



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