Jinsi Ya Kuamua Saizi Ya Safu

Orodha ya maudhui:

Jinsi Ya Kuamua Saizi Ya Safu
Jinsi Ya Kuamua Saizi Ya Safu

Video: Jinsi Ya Kuamua Saizi Ya Safu

Video: Jinsi Ya Kuamua Saizi Ya Safu
Video: Vijana tajiri dhidi ya teen teen! Kila kijana ni kama hivyo! 2024, Novemba
Anonim

Arrays ni moja wapo ya aina zinazotumika sana za kuhifadhi data wakati wa operesheni ya programu. Zinakuruhusu kupanga vitu vya aina moja katika mlolongo ulioamriwa na ufikie haraka kwa faharisi. Mara nyingi, wakati wa kukuza programu katika lugha zenye nguvu na rahisi za programu zinazoruhusu ufikiaji wa kumbukumbu moja kwa moja, kama C ++, unahitaji kuamua saizi ya safu.

Jinsi ya kuamua saizi ya safu
Jinsi ya kuamua saizi ya safu

Muhimu

Mkusanyaji wa C ++

Maagizo

Hatua ya 1

Tambua saizi ya safu wakati wa kukusanya kwa kuhesabu kwa kutumia mwendeshaji wa saizi. Operesheni hii inarudisha idadi ya kumbukumbu (kwa ka) iliyochukuliwa na hoja iliyopitishwa kwake. Hoja inaweza kuwa ya kutofautisha au kitambulisho cha aina. Operesheni ya saizi inarudisha idadi ndogo ya kumbukumbu iliyochukuliwa na kitu kwenye hatua ya utekelezaji wa programu (kwa kuzingatia, kwa mfano, mipangilio ya upatanisho wa uwanja wa muundo), lakini hesabu yake inafanywa katika hatua ya mkusanyiko.

Hatua ya 2

Kuamua saizi ya safu ukitumia mwendeshaji wa saizi, gawanya saizi yake yote na saizi ya kitu kimoja. Kwa mfano, ikiwa una ufafanuzi ufuatao wa safu: int aTemp = {10, 20, 0xFFFF, -1, 16}, basi saizi yake inaweza kuhesabiwa kama: int nSize = sizeof (aTemp) / sizeof (aTemp [0]);

Hatua ya 3

Kwa matumizi rahisi zaidi ya njia hii, ni busara kufafanua jumla: #fafanua hesabu (a) (sizeof (a) / sizeof (a [0])) Kumbuka kuwa kwa kuwa thamani ya mwendeshaji wa sizeof imehesabiwa wakati wa kukusanya wakati, mahali, ambapo hesabu inafanywa, habari juu ya ujazo wa safu na vitu vyake lazima ipatikane wazi. Kwa maneno mengine, haiwezekani kuamua vigezo vya safu ya saizi isiyojulikana na tamko lake la nje.

Hatua ya 4

Tambua saizi ya safu wakati wa utekelezaji wa programu, ukitumia ishara inayojulikana ya kukomesha kwake. Njia moja ambayo inaruhusu kuhifadhi na kusambaza data kwa njia ya safu ya urefu usio na kipimo ni kutenga thamani maalum ya ishara inayoonyesha kukamilika kwa mlolongo wa data. Kwa mfano, kamba-moja-ya-njia ya-C ambayo ni safu za herufi lazima iishe na thamani ya 0, safu zilizojaa zilizo na urefu wa urefu wa C zimekomeshwa sifuri, na safu za pointer lazima zisimamishwe kabisa.

Hatua ya 5

Kuamua saizi ya safu inayowakilishwa kwa njia hii, changanua kipengee kwa kipengee hadi upate kipengee cha kukomesha. Ongeza kaunta iliyoanzishwa na sifuri wakati wa skana. Au, ongeza thamani ya pointer kwa kipengee cha safu, na baada ya skanning, hesabu tofauti kati ya viashiria kwa vitu vya sasa na vya kwanza.

Hatua ya 6

Pata saizi ya safu ya nguvu inayowakilishwa na mfumo au kitu cha maktaba kwa kupiga njia yake. Madarasa yoyote ambayo yanajumuisha utendaji wa safu kama hizo zina njia za kupata idadi ya sasa ya vitu. Kwa mfano, darasa la templeti ya std:: vector ya maktaba ya kawaida ya C ++ ina njia ya ukubwa, darasa la mfumo wa Qt la QVector lina njia ya kuhesabu, na darasa linalofanana la CArray la MFC lina njia ya GetCount.

Ilipendekeza: