Care este parametrul real

1. Care este funcția? Definiție funcție. Avantajele folosirii funcțiilor

Când scrieți un program de nivel mediu și ridicat de complexitate este nevoie în ele divizarea în afară. Divizarea unui program de mare în bucăți mai mici, pentru a reduce riscul de erori, îmbunătățește lizibilitatea codului datorită structurării sale.







De asemenea, în cazul în care unele cod se repetă de mai multe ori (sau au înțeles similar), este recomandabil să-l organizeze ca o funcție, care apoi poate fi apelat de mai multe ori utilizând numele său. Astfel, există o economie de memorie, reducerea de cod sursă de program, etc ..

Funcția - este o parte a programului, care are următoarele caracteristici sau caracteristici:

  • există în mod logic, o parte independentă a programului;
  • Acesta are un nume pe baza cărora apelul la funcția (funcția). Numele funcției trebuie să se conformeze la crearea de identificare C ++;
  • poate cuprinde o listă de parametri care sunt transmise către aceasta, pentru prelucrare sau utilizare. Dacă funcția nu conține o listă de opțiuni, atunci această funcție este fără argumente;
  • poate returna un (nu neapărat) o anumită valoare. Dacă funcția nu se întoarce nici o valoare, apoi specificați vidul de cuvinte cheie;
  • Ea are propriul său cod, care este situat între acolade <>. Codul rezolvă problema ridicată de această funcție. Funcția de cod în cadrul acolade, numit „functiile corpului“.

Utilizarea funcțiilor în programele de următoarele avantaje:

  • organizarea compactă a programului prin codul de apel la îndemînă prin numele său, care în program poate să apară de mai multe ori (repetat);
  • economii de memorie, dimensiunea și sursa de cod executiv, etc.;
  • reducerea riscului de erori pentru seturi mari de coduri;
  • îmbunătățind lizibilitatea codului.
2. Care este forma generală a descrierii funcției?

Forma generală a descrierii funcției după cum urmează:

3. Exemple de descrierea și utilizarea de funcții care nu returnează valori

Dacă funcția nu returnează o valoare, atunci ar trebui să pornească de la vidul de cuvinte cheie.

Exemplul 1. MyFunc1 () funcția fără nici un parametru, care nu returnează o valoare.

În cazul în care corpul unei clase sau modul descrie funcția:

apoi apel această funcție după cum urmează:

Exemplul 2. MyFuncMult2 () funcția. care are un parametru întreg și returnează nici o valoare. Funcția obținută prin înmulțirea parametrului cu 2 și ieșiri rezultatul pentru a forma un control label1.

Apelarea unei funcții dintr-un alt cod:

Exemplul 3. O funcție care primește doi parametri de tip dublu. Acesta este produsul lor și îl afișează pe formular în controlul Label1.

Apelarea unei funcții dintr-un alt cod:

4. Exemple de descrierea și utilizarea funcțiilor, care primesc un parametru






Exemplul 1. O funcție care are un parametru întreg, inmulteste-l cu 5 și returnează rezultatul. Funcția nu efectuează rezultatul de ieșire.

Apelarea unei funcții dintr-un alt cod

Exemplul 2. Valoarea funcției calcul y = semn (x). definită de regula:

Apelarea unei funcții dintr-un alt cod:

5. Exemple care descriu utilizarea și funcțiile care primesc doi sau mai mulți parametri

Exemplul 1. MaxFloat () funcția. 2 a primit parametru de tipul float și returnează maximul dintre ele.

Trebuie remarcat faptul că această funcție este de întoarcere de 2 ori este întâlnită.

Apelați funcția MaxFloat () dintr-un alt cod:

Exemplul 2. MaxInt3 () funcția. care este valoarea maximă a trei numere întregi.

Apelarea unei funcții dintr-un alt cod

6. Care sunt diferitele moduri de a trece parametrii la funcția? exemplu

În general, există două metode de transmitere a parametrilor functiei:

Functia_Mea Demonstrație () funcția de apel de la un alt cod:

După cum se poate observa din rezultatul, valoarea unui nu este schimbat. O variabilă transmisă) funcția Functia_Mea (cu valorile de transmisie (primul parametru).

7. Care este parametrii formali și reale ale funcției? exemplu

Parametrii formale - este variabilă, luând valoarea argumentelor funcției (parametri). Dacă funcția are mai multe argumente (parametrii), tipul acestora și numele separate prin virgulă. " “.

Exemplu. MyAbs () funcția. Unitatea de constatare are una dintre parametrul x formal.

Apelarea unei funcții dintr-un alt cod (o altă funcție)

Când funcția este numit de la un alt cod există un argument real. În acest exemplu, parametrul real este o variabilă și o constantă de 23.

Când funcția se numește parametrii actuali sunt copiate într-o locație specială de memorie în stivă (stack - o parte din memorie). Aceste celule de memorie sunt rezervate pentru parametrii formali. Astfel, parametrii formali (prin utilizarea unei stive), o valoare a parametrilor actuali.

Deoarece parametrii actuali sunt copiate în stivă, modificarea parametrilor formale în corpul funcției nu modifică valorile parametrilor actuali (deoarece are o copie a parametrilor actuali).

8. Care este domeniul de aplicare al parametrilor formali ai funcției? exemplu

CÂMP funcția de vizibilitate parametrii formali limite definite funcția de organism în care sunt descrise. In exemplul de mai jos, parametrul oficial n este tipul întreg în domeniul de aplicare granițele acolade <> .

Exemplu. Funcția care calculează factorialul unui număr n.

Apelarea unei funcții dintr-un alt cod (o altă funcție):

9. Care este prototipul funcției? exemplu

Prototipul funcție vă permite să evitați erori la transferul parametrilor reale la parametrii formali.

Dacă nu există nici un prototip funcție, compilatorul presupune tipul de parametri formali egal cu tipul parametrilor actuali. Acest lucru poate duce la erori.

Prototipul funcției oferă informații compilatorul despre tipul de parametrii formali într-o funcție. Acest lucru este important în cazurile în care tipul de parametrii reale nu se potrivește cu tipul de parametri formali.

Exemplu. Dată fiind o Div function (). 2 care primește numărul de tip long int și returnează rezultatul numerelor de diviziune număr întreg. Funcția nu are prototip (a se vedea. De mai jos).

Dacă scrieți în alt cod de program:

adică, riscul unui rezultat eronat în c variabile. Acest lucru se datorează faptului că funcția este numit un compilator nu are nici o informație despre tipul parametrului formale (x. Y), care sunt utilizate în funcție. Compilatorul consideră că tipul parametrilor în funcție este aceeași ca și tipul de parametrii actuali (variabila a. B), adică, int. Cu toate acestea, funcția Div () utilizează parametrii lungi de tip int. care are o capacitate mare de memorie decât un int. Prin urmare, poate exista o denaturare a valorilor.

Pentru a evita o astfel de eroare este recomandat pentru a da prototipul functiei. În acest caz, prototipul are forma:

În prototipul se indică:

  • a reveni tipul funcției;
  • numele funcției;
  • tipuri de argumente funcție (parametri).

Dacă funcția este descrisă în clasă și numesc metodele din această clasă, atunci astfel de erori nu vor. Acest lucru se datorează faptului că într-o clasă de un prototip funcție este cunoscută pentru toate metodele unei clase.

subiecte conexe