ByVal și byref

ByVal și Byref

Pentru a-ți spun onoarea, metodele de procedură parametri de transmisie sau o funcție, poate, a fost necesar pentru a sublinia tema funcției. Dar vreau să înțelegeți mai întâi ce pointer.

Metode pentru transferarea parametrilor funcțiilor sau procedurilor:

  1. ByVal - transferat valoarea în sine
  2. Byref - un pointer la valoarea.

Când vom scrie astfel:

Aceasta este de fapt un tip de înregistrare prescurtare:

În aceste înregistrări, doar prin trecerea unui parametru pentru funcția noastră pur și simplu creează o nouă variabilă și se atribuie o valoare. Acesta este transmis la apelarea funcției.

Două exemple (de fapt același program):

Prescurtata fără ByVal:


Notă: Pentru siruri de caractere, folosit regula opusă. Aceasta este, în mod implicit, fără a specifica parametrii metodei de transmisie, șirul de trecut prin Byref.


Menționăm că rezultatul diferă de rezultatul din exemplele ByVal. Asta-i drept: ByVal funcționează cu o copie a valorii variabilei și Byref valoarea actualizată a variabilei.

Dacă nu utilizați ByRef cuvinte cheie. va trebui să scrie ceva de genul:


Sunt de acord că, pentru a realiza această sarcină, este mai convenabil să utilizeze cuvântul cheie ByRef.

Și, în plus față de articol despre caracteristica:

procedură sau funcția Parametrii pot fi transmise în mod implicit. Aici trebuie să se gândească la structura articolului. un principiu similar.


Probabil ați observat că am doi dintre cei trei parametri ai valoarea atribuită de 10 și 15. Aceasta este valoarea implicită și parametrilor a și c este deja opțională. Dacă specificați valori pentru parametrii din apelul, atunci valorile vozmet procedura pe care o specificați. Și dacă nu specificați, apoi vozmet implicit. Aruncati o privire la apelul de procedură. Prima dată de asteptare procedura, am dat toți parametrii, iar rezultatul este o variabilă în procedura atunci când se adaugă 1 + 1 a devenit egal cu 2. În al doilea apel, am indicat necesar numai parametrul b, iar valoarea unui fost egal cu 10 + 1 = 11.
Fii atent la sintaxa cu setările implicite. În cazul în care parametrul implicit picătură merge mai departe. în schimb au pus doar o virgulă. Dacă în urmă, atunci nimic nu ar trebui să fie scris.
Poizuchat acest exemplu, cauzând o varietate de moduri.
Aș dori să adaug că am ratat în ultimul articol despre caracteristica. În acest articol, am lăsat să se înțeleagă că este posibil revenirea valori dintr-o funcție în trei moduri diferite, dar am uitat să-ți spun cum acestea diferă.

  1. Valoarea de retur (se întoarce părăsesc imediat funcțiile lor)
  2. Funcția = valoarea (atribuie rezultatul funcției, dar nu părăsi funcția până când, până când ajung la sfârșitul sau nu a îndeplinit operatorului return)
  3. Nume funcție = valoarea (la fel ca și al doilea paragraf)


Notă. În cazul în care declarația este prima linie de tratament și declararea de comandă se adaugă în față. Deci, vom da know compilator. că există o procedură și o vom folosi din codul nostru principal sau alte fișiere de module. Acum putem scrie codul la funcțiile de sus și de apel sau proceduri sunt de mai jos. Încearcă să o facă fără declarație.
În următorul articol, vom învăța în cele din urmă cum să folosească funcții și proceduri scrise de către alte persoane. Toate cele bune!

ByVal și byref

articole similare