Paano Matutukoy Ang Laki Ng Isang Array

Talaan ng mga Nilalaman:

Paano Matutukoy Ang Laki Ng Isang Array
Paano Matutukoy Ang Laki Ng Isang Array

Video: Paano Matutukoy Ang Laki Ng Isang Array

Video: Paano Matutukoy Ang Laki Ng Isang Array
Video: СТЕРЖНЕВАЯ МОЗОЛЬ. Как убрать НАТОПТЫШ на НОГАХ. ГЛУБОКАЯ МОЗОЛЬ. ПЕДИКЮР. MASSIVE CORN 2024, Mayo
Anonim

Ang mga array ay isa sa mga pinaka-madalas na ginagamit na form ng imbakan ng data sa pagpapatakbo ng programa. Pinapayagan ka nilang ayusin ang mga elemento ng parehong uri sa isang order na pagkakasunud-sunod at makakuha ng mabilis na pag-access sa kanila sa pamamagitan ng index. Kadalasan, kapag bumubuo ng mga application sa malakas at may kakayahang umangkop na mga wika ng programa na pinapayagan ang direktang pag-access ng memorya, tulad ng C ++, kailangan mong matukoy ang laki ng array.

Paano matukoy ang laki ng isang array
Paano matukoy ang laki ng isang array

Kailangan

Tagatala ng C ++

Panuto

Hakbang 1

Tukuyin ang laki ng array sa oras ng pagtitipon sa pamamagitan ng pagkalkula nito gamit ang sizeof operator. Ibinabalik ng operator na ito ang dami ng memorya (sa mga byte) na sinakop ng argument na naipasa dito. Ang argumento ay maaaring alinman sa isang variable o isang identifier ng uri. Ang sizeof operator ay nagbabalik ng may hangganan na memorya na inookupahan ng bagay sa yugto ng pagpapatupad ng programa (isinasaalang-alang, halimbawa, ang mga setting para sa pagkakahanay ng mga patlang ng istraktura), ngunit ang pagkalkula nito ay ginaganap sa yugto ng pagtitipon.

Hakbang 2

Upang matukoy ang laki ng isang array gamit ang sizeof operator, hatiin ang buong laki nito sa laki ng isang elemento. Halimbawa, kung mayroon kang sumusunod na kahulugan ng isang array: int aTemp = {10, 20, 0xFFFF, -1, 16}, kung gayon ang laki nito ay maaaring kalkulahin bilang: int nSize = sizeof (aTemp) / sizeof (aTemp [0]);

Hakbang 3

Para sa isang mas maginhawang paggamit ng pamamaraang ito, makatuwiran na tukuyin ang isang macro: #define countof (a) (sizeof (a) / sizeof (a [0])) Tandaan na dahil ang halaga ng sizeof operator ay kinakalkula sa compile oras, sa puntong, kung saan isinasagawa ang pagkalkula, ang impormasyon tungkol sa dami ng array at mga elemento nito ay dapat na malinaw na magagamit. Sa madaling salita, imposibleng matukoy ang mga parameter ng isang hanay ng hindi kilalang laki sa pamamagitan ng deklarasyong panlabas nito.

Hakbang 4

Tukuyin ang laki ng array sa panahon ng pagpapatupad ng programa, gamit ang kilalang tanda ng pagwawakas nito. Ang isa sa mga diskarte na nagbibigay-daan sa pag-iimbak at paglilipat ng data sa anyo ng mga arrays ng walang tiyak na haba ay upang maglaan ng isang espesyal na halaga para sa isang palatandaan na nagpapahiwatig ng pagkumpleto ng isang pagkakasunud-sunod ng data. Halimbawa, ang mga single-byte C-style string na mga character array ay dapat magtapos sa halagang 0, naka-pack na variable-length na C-string arrays ay zero-natapos, at ang mga pointer array ay dapat na null-winakasan.

Hakbang 5

Upang matukoy ang laki ng isang array na kinakatawan sa ganitong paraan, i-scan ito ng elemento ayon sa elemento hanggang sa makita mo ang nagwawalang elemento. Palakihin ang zero-initialized counter sa panahon ng pag-scan. O, taasan ang halaga ng pointer sa isang elemento ng array, at pagkatapos ng pag-scan, kalkulahin ang pagkakaiba sa pagitan ng mga payo sa kasalukuyan at unang mga elemento.

Hakbang 6

Kunin ang laki ng isang pabagu-bagong array na kinakatawan ng isang balangkas o object ng library sa pamamagitan ng pagtawag sa pamamaraan nito. Ang anumang mga klase na encapsulate ang pag-andar ng naturang mga arrays ay may mga pamamaraan para sa pagkuha ng kasalukuyang bilang ng mga elemento. Halimbawa, ang klase ng template ng std:: vector ng pamantayang aklatan ng C ++ ay may sukat na pamamaraan, ang klase ng Qtector na QVector ay may bilang na pamamaraan, at ang magkakatulad na klase ng CArray ng MFC ay may pamamaraan na GetCount.

Inirerekumendang: