Rekomenduojama, 2024

Redaktoriaus Pasirinkimas

Apibrėžimo ir deklaracijos skirtumas

Apibrėžimas ir deklaracija yra labai painūs terminai, jei esate naujas programavimas. Abi sąvokos yra skirtingos, nes apibrėžimas apima atminties priskyrimą kintamiesiems, o deklaracijos atmintyje nėra. Deklaraciją galima padaryti daugiau nei vieną kartą, priešingai, subjektas gali būti tiksliai apibrėžtas vieną kartą programoje.

Apibrėžimas automatiškai yra deklaracija daugelyje scenarijų. Dabar suprasime skirtumą tarp apibrėžimo ir deklaracijos su išsamia palyginimo diagrama.

Palyginimo diagrama

Palyginimo pagrindasApibrėžimasDeklaracija
PagrindinisNustato vertę, išsaugotą kintamajame, funkcijoje ar klasėje.Nurodo kintamojo, funkcijos, klasės ir tt pavadinimą ir tipą.
Atminties paskirstymasAtsirandaNėra.
KartojimasPareiškimai negali būti dar kartą apibrėžti, jei jie jau yra apibrėžti.Redekcija gali būti lengvai įmanoma.
Taikymo sritisNustatoma trukmėNurodomas matomumas

Apibrėžimo apibrėžtis

Apibrėžimas identifikuoja kodą ar duomenis, susijusius su kintamojo, funkcijos, klasės ir pan. Pavadinimu. Kompiliatorius būtinai turi apibrėžti, kad galėtų paskirstyti deklaruojamo subjekto saugojimo vietą. Kai kintamasis yra apibrėžtas, jis turi atminties kiekį, kurį sudaro keli kintamieji baitai. Funkcijos apibrėžimas sukuria funkcijos funkciją. Programos elementą programoje galima apibrėžti tik vieną kartą, nes apibrėžimas yra unikali programos elemento specifikacija. Deklaracijos ir apibrėžimo ryšys gali būti vienas su daugeliu .

Kai kuriais atvejais programos elementas negali būti apibrėžtas, bet deklaruojamas, pavyzdžiui, kai funkcija niekada nenaudojama arba jos adresas niekada nenaudojamas, net jei jis yra paskelbtas. Kitas pavyzdys yra tas, kuriame klasės apibrėžimas nenaudojamas, kol jis turi būti paskelbtas.

Deklaracijos apibrėžimas

Deklaracijoje nurodomi programos pavadinimai, tokie kaip kintamojo, funkcijos, vardų vietos, klasių ir pan. Pavadinimas. Programoje be jos deklaracijos negalima naudoti jokio pavadinimo. Programos elementai gali būti paskelbti kelis kartus, skirtingai nei apibrėžimas. Kelių deklaracijų galima gauti tik tuo atveju, kai skirtingos deklaracijos pateikiamos naudojant tą patį formatą. Deklaracija yra programos elemento matomumo rengimo priemonė rengėjams.

Deklaracija atitinka apibrėžimo tikslą, tik tam tikrais atvejais ši sąlyga nėra numanoma, kuri pateikiama toliau.

  • Kai statinis duomenų narys yra deklaruojamas klasės deklaracijoje, tokiu atveju tai nėra deklaracija. Kadangi jis sukuria tik vieną kopiją visiems klasės objektams, ir statiniai duomenų nariai yra pateikto klasės tipo objektų komponentai.
  • Jei deklaracija yra tipedef pareiškimas.
  • Kintamasis yra deklaruojamas be iniciatoriaus arba funkcijų kūno, bet apima ir išorinius specifikatorius. Tai rodo, kad apibrėžimas gali būti skirtas kitai funkcijai ir suteikia pavadinimą išorinei sąsajai.
  • Klasės pavadinimo deklaracija be apibrėžimo, pvz., T klasė;

Paprastai deklaracija vykdoma. Apimtis nustato deklaruojamo vardo matomumą ir apibrėžtą objekto trukmę.

Pagrindiniai apibrėžties ir deklaracijos skirtumai

  1. Programos elemento apibrėžimas lemia vertę, susijusią su šiuo elementu. Kita vertus, programos elemento deklaracija nurodo kompiliatoriaus pavadinimą ir tipą.
  2. Programos elemento apibrėžimas palieka šiek tiek atminties, o deklaracija neapima atminties.
  3. Programos elementas gali būti paskelbtas kelis kartus. Priešingai, apibrėžimas apima unikalią specifikaciją su programos elemento pavadinimu, kurį galima išskirti bet kuriuo kodu ar duomenimis.
  4. Deklaracijos apimtis apibūdina kintamojo, funkcijos, objekto, klasės, skaičiavimo ir kt. Matomumą. Priešingai, apibrėžtyje taikymo sritis yra susijusi su trukme.

Apibrėžimo pavyzdys

  • Kintamas apibrėžimas ir deklaracija:
    int r = 10;
  • Funkcijos apibrėžimas:
     int add (int x, int y) {int a; a = x + y; grąžinti a; } 

Deklaracijos pavyzdys

  • Kintama deklaracija:
    extern int r;
  • Funkcijų deklaracija:
    int add (int p1, int p2);

Išvada

Deklaravimo procesas naudojamas programos elementui matyti kompiliatoriui ir nereikia priskirti atminties. Atvirkščiai apibrėžimas - tai deklaracija, kad rezervas saugomas paprastais žodžiais kompiliatorius pasilieka atminties vietą deklaruotam subjektui.

Top