Soovitatav, 2024

Toimetaja Valik

Määratluse ja deklaratsiooni erinevus

Mõiste ja deklaratsioon on väga segadust tekitavad mõisted, kui olete programmeerimise puhul uus. Mõlemad mõisted on mõnes mõttes erinevad, kuna määratlus hõlmab muutujate mälu määramist, samas kui deklaratsiooni mälus ei ole eraldatud. Deklaratsiooni saab teha rohkem kui üks kord, vastupidi, üksust saab programmis täpselt määratleda.

Määratlus on automaatselt enamiku stsenaariumi deklaratsioon. Nüüd saame mõista erinevust määratluse ja deklaratsiooni vahel üksikasjaliku võrdluskaardiga.

Võrdluskaart

Võrdluse alusMääratlusDeklaratsioon
PõhilineMäärab muutuja, funktsiooni või klassi salvestatud väärtuse.Määrab muutuja, funktsiooni, klassi jne nime ja tüübi.
Mälu jaotamineEsinebEi toimu.
KordamineTeatisi ei saa uuesti määratleda, kui need on juba määratletud.Ümberdeklareerimine on lihtne.
ReguleerimisalaKestus määratakseNähtavus on täpsustatud

Mõiste määratlus

Määratlus määratleb koodi või andmed, mis on seotud muutuja, funktsiooni, klassi jne. Dokumendi poolt on deklareeritud üksuse salvestusruumi eraldamiseks tingimata vajalik määratluse määratlemine. Kui muutuja on defineeritud, on sellel muutuja jaoks mitu mälu, mis koosneb mitmest baitist. Funktsioonide määratlus loob funktsiooni koodi. Programmis võib programmielementi määratleda vaid üks kord, sest määratlus on programmi elemendi unikaalne spetsifikatsioon. Deklaratsiooni ja määratluse vaheline suhe võib olla üks-mitmele .

Mõnes olukorras ei saa programmi elementi määratleda, vaid deklareerida, näiteks kui funktsiooni ei kasutata kunagi või selle aadressi ei kasutata kunagi, isegi kui see on deklareeritud. Teine näide on see, kus klassi määratlust ei kasutata, kui seda tuleb deklareerida.

Deklaratsiooni määratlus

Deklaratsiooni kasutatakse programmi nimede määramiseks, näiteks muutuja, funktsiooni, nimeruumi, klasside jne nimi. Programmis ei ole nime võimalik kasutada ilma selle deklaratsioonita. Erinevalt määratlusest saab programmi elemente mitu korda deklareerida. Mitmeid deklaratsioone saab teha ainult siis, kui erinevad deklaratsioonid on koostatud identsel kujul. Deklaratsioon on programmielemendi nähtavuse tagamise vahend koostajate seisukohast.

Deklaratsioon täidab mõiste eesmärki, ainult teatavatel juhtudel ei ole see tingimus allpool esitatud.

  • Kui staatilise andmeesitaja deklareeritakse klassideklaratsioonis, ei ole see deklaratsioon. Kuna see genereerib ainult ühe koopia kõigi klassi objektide jaoks ja staatilised andmeliikmed on antud klassi tüüpi objektide komponendid.
  • Kui deklaratsioon on typedef.
  • Muutuja deklareeritakse ilma algaja või funktsionaalse keha, kuid sisaldab väliseid spetsifikaate. See näitab, et määratlus võiks olla teise funktsiooni jaoks ja annab nime välise sideme.
  • Klassi nime deklaratsioon ilma määratluseta nagu klass T;

Tavaliselt toimub deklaratsiooni ulatus . Valdkond otsustab deklareeritud nime nähtavuse ja määratletud objekti kestuse.

Määratluse ja deklaratsiooni olulised erinevused

  1. Programmielemendi määratlus määrab selle elemendiga seotud väärtuse. Teisest küljest määrab programmielemendi deklaratsioon kompilaatorile selle nime ja tüübi.
  2. Programmielemendi määratlus jätab teatud hulga mälu, samas kui deklaratsioon ei sisalda mälu eraldamist.
  3. Programmi elementi saab mitu korda deklareerida. Seevastu sisaldab määratlus ainulaadset spetsifikatsiooni koos programmi elemendi nimega, mida oleks võimalik eristada mis tahes koodi või andmetega.
  4. Deklaratsiooni ulatus kirjeldab muutuja, funktsiooni, objekti, klassi, loenduse jne nähtavust.

Definitsioon Näide

  • Muutuv määratlus ja deklaratsioon:
    int r = 10;
  • Funktsioonide määratlus:
     int add (int x, int y) {int a; a = x + y; tagastama a; } 

Deklaratsiooni näide

  • Muutuv deklaratsioon:
    extern int r;
  • Ameti deklaratsioon:
    int add (int p1, int p2);

Järeldus

Deklaratsiooniprotsessi kasutatakse programmielemendi kompilaatorile nähtavaks tegemiseks ning see ei nõua mälu eraldamist. Vastupidi, määratlus on deklaratsioon, mis reservi säilitab, lihtsate sõnadega reserveerib kompilaator mäluruumi deklareeritud üksusele.

Top