Recomandat, 2020

Alegerea Editorului

Diferența dintre definiție și declarație

Definirea și declarația sunt termeni foarte confuzi dacă sunteți nou în programare. Cele două concepte sunt diferite în anumite moduri, deoarece definiția implică asignarea memoriei la variabile în timp ce memoria de declarație nu este alocată. Declarația se poate face de mai multe ori, invers, o entitate poate fi definită exact o dată într-un program.

Definiția este automat o declarație în cea mai mare parte a scenariului. Acum, să înțelegem diferența dintre definiție și declarație cu diagrama de comparație detaliată.

Diagramă de comparație

Bazele de comparațieDefinițieDeclaraţie
De bazăStabilește valoarea stocată în variabilă, funcție sau clasă.Specifică numele și tipul variabilei, funcției, clasei etc.
Alocare de memorieapareNu are loc.
RepetiţieDeclarațiile nu pot fi definite din nou dacă o dată este deja definită.Redenumirea poate fi ușor posibilă.
domeniuDurata este determinatăVizibilitatea este specificată

Definiția definiției

Definiția identifică codul sau datele asociate cu numele variabilei, funcției, clasei etc. Definiția este obligatoriu impusă de compilator pentru a aloca spațiul de stocare pentru entitatea declarată. Când o variabilă este definită, ea deține o cantitate de memorie constând din mai mulți octeți pentru acea variabilă. O definiție a funcției produce cod pentru funcție. Putem defini un element de program o singură dată într-un program, deoarece definiția este o specificație unică a unui element de program. Relația dintre declarație și definiție poate fi una-la-multe .

În unele situații, un element de program nu poate fi definit, ci declarat, de exemplu atunci când o funcție nu este invocată niciodată sau adresa acesteia nu este utilizată niciodată, chiar dacă este declarată. Un alt exemplu este acela în care definiția clasei nu este utilizată în timp ce ea trebuie declarată.

Definiția declarației

Declarația este utilizată pentru a specifica numele programelor, cum ar fi numele unei variabile, funcții, spațiu de nume, clase etc. Nu se poate utiliza un nume într-un program fără declarația sa. Elementele programului pot fi declarate de mai multe ori, spre deosebire de definiție. Declarațiile multiple pot fi obținute numai atunci când diferitele declarații sunt făcute utilizând formatul identic. Declarația este mijlocul de a asigura vizibilitatea elementului de program în perspectiva compilatorilor.

Declarația servește scopului definirii, numai în anumite cazuri condiția nu este implicită care este dată mai jos.

  • Când elementul de date statice este declarat într-o declarație de clasă, în acest caz, nu este o declarație. Deoarece generează doar o singură copie pentru toate obiectele clasei și elementele de date statice sunt componentele obiectelor unui tip de clasă furnizat.
  • Dacă o declarație este o declarație tippedef.
  • O variabilă este declarată fără inițializator sau cu funcția de funcționare, dar include și parametri externi. Aceasta indică faptul că definiția ar putea fi pentru cealaltă funcție și oferă numele de legătură externă.
  • Declarația de nume de clasă fără a include o definiție, cum ar fi clasa T;

De obicei, declarația are loc într-un domeniu . Domeniul de aplicare determină vizibilitatea numelui declarat și durata definită a obiectului.

Diferențe cheie între definiție și declarație

  1. Definiția unui element de program determină valoarea asociată acelui element. Pe de altă parte, declarația unui element de program specifică numele și tipul acestuia la compilator.
  2. Definiția elementului de program își rezervă o anumită cantitate de memorie, în timp ce declarația nu implică alocarea memoriei.
  3. Un element de program poate fi declarat de mai multe ori. Dimpotrivă, definiția încorporează o specificație unică cu numele elementului de program care poate fi distins prin orice cod sau date.
  4. Domeniul de aplicare în declarație descrie vizibilitatea variabilei, funcției, obiectului, clasei, enumerării etc. În schimb, în ​​definiție domeniul de aplicare se referă la durată.

Exemplul de definire

  • Definiția variabilă, precum și declarația:
    int r = 10;
  • Definiția funcției:
     int int (int x, int y) {int a; a = x + y; returnați un; } 

Exemplul declarației

  • Declarație variabilă:
    extern int r;
  • Declarația funcției:
    int add (int p1, int p2);

Concluzie

Procesul de declarație este folosit pentru a face elementul de program vizibil pentru compilator și nu necesită alocarea memoriei. În definiția inversă este o declarație care stochează rezerva, cu cuvinte simple, compilatorul își rezervă spațiul de memorie pentru entitatea declarată.

Top