
Definicija je samodejno deklaracija v večini scenarijev. Zdaj pa razumimo razliko med definicijo in deklaracijo s podrobno primerjalno tabelo.
Primerjalna tabela
Podlaga za primerjavo | Opredelitev | Deklaracija |
---|---|---|
Osnovno | Določa vrednost, shranjeno v spremenljivki, funkciji ali razredu. | Določa ime in vrsto spremenljivke, funkcije, razreda itd. |
Dodelitev pomnilnika | Pojavi se | Ne zgodi se. |
Ponovitev | Izjave ni mogoče ponovno definirati, če je že definirana. | Izjava je lahko enostavno. |
Področje uporabe | Trajanje se določi | Vidnost je določena |
Opredelitev definicije
Opredelitev opredeljuje kodo ali podatke, povezane z imenom spremenljivke, funkcije, razreda itd. Definicija je nujno potrebna za prevajalnik, da dodeli pomnilniški prostor za deklarirano entiteto. Če je spremenljivka definirana, ima v njej količino pomnilnika, ki je sestavljena iz več bajtov za to spremenljivko. Definicija funkcije izdela kodo za funkcijo. Programski element lahko definiramo samo enkrat v programu, ker je definicija edinstvena specifikacija programskega elementa. Odnos med deklaracijo in definicijo je lahko ena-do-več .
V nekaterih primerih programskega elementa ni mogoče definirati, ampak deklarirati, na primer, ko funkcija ni nikoli poklicana ali njen naslov ni uporabljen, tudi če je deklariran. Drug primer je tista, v kateri definicija razreda ni uporabljena, medtem ko jo je treba deklarirati.
Opredelitev deklaracije
Izjava se uporablja za določitev imen za program, kot so ime spremenljivke, funkcije, imenski prostor, razredi, itd. V programu ni mogoče uporabiti imena brez njegove izjave. Elemente programa lahko za razliko od definicije večkrat razglasimo. Več deklaracij se lahko doseže le, če se različne deklaracije izdelajo v enaki obliki. Deklaracija je sredstvo za zagotavljanje vidnosti elementa programa z vidika prevajalcev.
Deklaracija služi namenu opredelitve, vendar le v nekaterih primerih pogoj ni naveden, kar je navedeno spodaj.
- Če je član statičnih podatkov deklariran znotraj deklaracije razreda, v tem primeru ni deklaracija. Ker generira samo eno kopijo za vse objekte razreda in statični podatki, so sestavni deli objektov podane vrste razreda.
- Če je deklaracija typedef stavek.
- Spremenljivka je deklarirana brez inicializatorja ali telesa funkcije, vendar vključuje zunanje parametre. Označuje, da je lahko definicija za drugo funkcijo in daje ime zunanje povezave.
- Deklaracija imena razreda brez opredelitve, kot je razred T;
Običajno se deklaracija izvaja v obsegu . Obseg določi vidljivost deklariranega imena in definiranega trajanja objekta.
Ključne razlike med definicijo in deklaracijo
- Opredelitev elementa programa določa vrednost, povezano s tem elementom. Po drugi strani deklaracija elementa programa prevajalniku poda ime in tip.
- Opredelitev programskega elementa zadrži nekaj pomnilnika, medtem ko deklaracija ne vključuje dodelitve pomnilnika.
- Element programa je mogoče prijaviti večkrat. Po drugi strani pa opredelitev vključuje edinstveno specifikacijo z imenom programskega elementa, ki ga je mogoče razlikovati po kateri koli kodi ali podatkih.
- Področje uporabe v deklaraciji opisuje vidnost spremenljivke, funkcije, predmeta, razreda, oštevilčenja itd. Nasprotno pa se v opredelitvi področje nanaša na trajanje.
Primer definicije
- Opredelitev spremenljivke in izjava:
int r = 10;
- Opredelitev funkcije:
int add (int x, int y) {int a; a = x + y; vrnitev a; }
Primer deklaracije
- Deklaracija spremenljivke:
extern int r;
- Deklaracija funkcije:
int add (int p1, int p2);
Zaključek
Postopek deklaracije se uporablja za izdelavo vidnega elementa programa za prevajalnik in ne zahteva dodelitve pomnilnika. Obratno definicija je deklaracija, ki rezervira shranjevanje, s preprostimi besedami prevajalnik rezervira pomnilniški prostor za deklarirano entiteto.