Si Të Përcaktohet Madhësia E Një Grupi

Përmbajtje:

Si Të Përcaktohet Madhësia E Një Grupi
Si Të Përcaktohet Madhësia E Një Grupi

Video: Si Të Përcaktohet Madhësia E Një Grupi

Video: Si Të Përcaktohet Madhësia E Një Grupi
Video: Fuqia (1 episod Faleminderit) 2024, Nëntor
Anonim

Vargjet janë një nga format më të përdorura të ruajtjes së të dhënave gjatë operacionit të programit. Ato ju lejojnë të organizoni elementë të të njëjtit lloj në një sekuencë të renditur dhe të merrni qasje të shpejtë në to sipas indeksit. Shumë shpesh, kur zhvilloni aplikacione në gjuhë programimi të fuqishme dhe fleksibël që lejojnë qasje në kujtesë të drejtpërdrejtë, të tilla si C ++, duhet të përcaktoni madhësinë e grupit.

Si të përcaktohet madhësia e një grupi
Si të përcaktohet madhësia e një grupi

E nevojshme

Përpiluesi C ++

Udhëzimet

Hapi 1

Përcaktoni madhësinë e grupit në kohën e përpilimit duke e llogaritur atë duke përdorur madhësinë e operatorit. Ky operator kthen sasinë e kujtesës (në bajt) të zënë nga argumenti i kaluar në të. Argumenti mund të jetë ose një ndryshore ose një identifikues tipi. Madhësia e operatorit kthen sasinë e fundme të kujtesës të zënë nga objekti në fazën e ekzekutimit të programit (duke marrë parasysh, për shembull, cilësimet për rreshtimin e fushave të strukturës), por llogaritja e saj kryhet në fazën e përpilimit.

Hapi 2

Për të përcaktuar madhësinë e një grupi duke përdorur madhësinë e operatorit, ndani të gjithë madhësinë e saj me madhësinë e një elementi. Për shembull, nëse keni përkufizimin vijues të një grupi: int aTemp = {10, 20, 0xFFFF, -1, 16}, atëherë madhësia e tij mund të llogaritet si: int nSize = sizeof (aTemp) / sizeof (aTemp) [0]);

Hapi 3

Për një përdorim më të përshtatshëm të kësaj metode, ka kuptim të përcaktohet një makro: #define countof (a) (sizeof (a) / sizeof (a [0])) Vini re se meqenëse vlera e operatorit sizeof llogaritet në përpilim koha, në pikën, ku kryhet llogaritja, informacioni në lidhje me vëllimin e grupit dhe elementet e tij duhet të jenë në dispozicion në mënyrë të qartë. Me fjalë të tjera, është e pamundur të përcaktohen parametrat e një grupi me madhësi të panjohur nga deklarata e tij e jashtme.

Hapi 4

Përcaktoni madhësinë e grupit gjatë ekzekutimit të programit, duke përdorur shenjën e njohur të përfundimit të tij. Një nga qasjet që lejon ruajtjen dhe transmetimin e të dhënave në formën e vargjeve me gjatësi të pacaktuar është caktimi i një vlere të veçantë për një shenjë që tregon përfundimin e një sekuence të të dhënave. Për shembull, vargjet me një bajt të stilit C që janë vargje karakteri duhet të mbarojnë me një vlerë 0, vargjet e vargut C të gjatësisë së ndryshueshme të paketuara përfundojnë zero, dhe vargjet e treguesit duhet të përfundojnë nul.

Hapi 5

Për të përcaktuar madhësinë e një grupi të përfaqësuar në këtë mënyrë, skanojeni atë element për element derisa të gjeni elementin përfundimtar. Rritni numëruesin zero-inicializuar gjatë skanimit. Ose, rrisni vlerën e treguesit në një element të grupit dhe pas skanimit, llogarisni ndryshimin midis treguesve në elementët aktualë dhe të parë.

Hapi 6

Merrni madhësinë e një grupi dinamik të përfaqësuar nga një kornizë ose objekt bibliotekar duke thirrur metodën e tij. Çdo klasë që përmbledh funksionalitetin e vargjeve të tilla ka metoda për marrjen e numrit aktual të elementeve. Për shembull, klasa shabllon std:: vektoriale e bibliotekës standarde C ++ ka një metodë madhësie, klasa QVector e kornizës Qt ka një metodë numërimi dhe klasa analoge CArray e MFC ka një metodë GetCount.

Recommended: