Kako Določiti Velikost Matrike

Kazalo:

Kako Določiti Velikost Matrike
Kako Določiti Velikost Matrike

Video: Kako Določiti Velikost Matrike

Video: Kako Določiti Velikost Matrike
Video: Как делается планировка дома и как определить размер комнат | Планирование дома своими руками. 2024, November
Anonim

Polja so ena najpogosteje uporabljenih oblik shranjevanja podatkov med delovanjem programa. Omogočajo vam organiziranje istovrstnih elementov v urejenem zaporedju in hiter dostop do njih po indeksu. Zelo pogosto morate pri razvoju aplikacij v zmogljivih in prilagodljivih programskih jezikih, ki omogočajo neposreden dostop do pomnilnika, na primer C ++, določiti velikost polja.

Kako določiti velikost matrike
Kako določiti velikost matrike

Potrebno

Prevajalnik C ++

Navodila

Korak 1

Določite velikost matrike v času prevajanja, tako da jo izračunate z uporabo operatorja sizeof. Ta operater vrne količino pomnilnika (v bajtih), ki ga zaseda argument, ki mu je bil poslan. Argument je lahko spremenljivka ali identifikator tipa. Operator sizeof vrne končno količino pomnilnika, ki ga objekt zaseda na stopnji izvajanja programa (ob upoštevanju, na primer, nastavitev poravnave polj strukture), vendar se njegov izračun izvede v fazi sestavljanja.

2. korak

Če želite določiti velikost matrike z uporabo operatorja sizeof, celotno velikost delite z velikostjo enega elementa. Če imate na primer naslednjo definicijo matrike: int aTemp = {10, 20, 0xFFFF, -1, 16}, potem lahko njeno velikost izračunamo kot: int nSize = sizeof (aTemp) / sizeof (aTemp [0]);

3. korak

Za bolj priročno uporabo te metode je smiselno določiti makro: #define countof (a) (sizeof (a) / sizeof (a [0])) Upoštevajte, da ker je vrednost velikosti operatorja izračunana pri prevajanju čas, na mestu, kjer se izvaja izračun, morajo biti informacije o prostornini matrike in njenih elementih na voljo izrecno. Z drugimi besedami, z zunanjo deklaracijo ni mogoče določiti parametrov niza neznane velikosti.

4. korak

Določite velikost matrike med izvajanjem programa z uporabo znanega znaka njegovega zaključka. Eden od pristopov, ki omogoča shranjevanje in prenos podatkov v obliki nizov z nedoločeno dolžino, je dodelitev posebne vrednosti znaku, ki označuje dokončanje zaporedja podatkov. Na primer, enobajtni nizi v slogu C, ki so nizov znakov, se morajo končati z vrednostjo 0, pakirani nizi nizov C spremenljive dolžine se zaključijo z ničlo, polja kazalcev pa morajo biti zaključena z ničemer.

5. korak

Če želite določiti velikost matrike, predstavljene na ta način, jo skenirajte element za elementom, dokler ne najdete zaključnega elementa. Med skeniranjem povečajte nič inicializiran števec. Ali pa povečajte vrednost kazalca na element matrike in po skeniranju izračunajte razliko med kazalci na trenutni in prvi element.

6. korak

Prikličite velikost dinamičnega polja, ki ga predstavlja okvir ali objekt knjižnice, tako da pokličete njegovo metodo. Vsi razredi, ki vsebujejo funkcionalnost takih nizov, imajo metode za pridobivanje trenutnega števila elementov. Na primer, razred predloge std:: vector standardne knjižnice C ++ ima metodo velikosti, razred QVector okvira Qt ima metodo štetja, analogni razred CArray MFC pa metodo GetCount.

Priporočena: