Jinsi Ya Kurudisha Safu

Orodha ya maudhui:

Jinsi Ya Kurudisha Safu
Jinsi Ya Kurudisha Safu

Video: Jinsi Ya Kurudisha Safu

Video: Jinsi Ya Kurudisha Safu
Video: JINSI YA KURUDISHA UKE KUBANA TENA | KUWA WA MNATO KAMA BIKRA |Tanzanian youtuber 2024, Novemba
Anonim

Arrays ni moja wapo ya aina rahisi zaidi ya uhifadhi wa data uliopangwa. Kwa kuwa sehemu za kumbukumbu zisizogawanyika zimetengwa kwa kuhifadhi safu-moja, na lugha nyingi za programu zina muundo wa syntax kwa tamko lao, hutumiwa kwa nguvu kama viboreshaji vya kuhamisha habari nyingi kwa kazi anuwai (pamoja na maktaba). Kwa upande mwingine, kazi wakati mwingine zinahitaji kurudisha safu.

Jinsi ya kurudisha safu
Jinsi ya kurudisha safu

Muhimu

  • - mhariri wa maandishi;
  • - C au C ++ mkusanyaji na kiunganishi.

Maagizo

Hatua ya 1

Rudisha data kutoka kwa kazi au njia kwa kuiweka katika safu ya urefu uliowekwa, iliyotengwa na mpigaji, na kupitishwa kwa kumbukumbu. Fafanua aina ya data inayofaa, kwa mfano: typedef int t_array10 [10]; Itumie katika tamko na utekelezaji wa kazi inayohitajika au njia: batili ReturnArray (t_array10 & raOut) {raOut [0] = 10;} Piga simu ipasavyo: int Nambari [10]; ReturnArray (aNumbers); Ubaya wa njia hii ni kwamba urefu wa safu umewekwa.

Hatua ya 2

Rudisha data ya safu kwa kuiweka kwenye bafa iliyotengwa ya mpigaji iliyopitishwa na pointer. Mfano wa kazi au njia inaweza kuwa na parameta iliyotangazwa yote katika nukuu ya safu bila vipimo vya saizi: batili ReturnArray (int anArray , int nSize); au kama pointer: batili ReturnArray (int * pnArray, int nSize); kesi, kigezo cha kitambulisho kinaweza kutumiwa katika nukuu ya safu: batili ReturnArray (int * pnArray, int nSize) {for (nSize--; nSize> -1; pnArray [nSize] = nSize--);} // call int aNumbers [10]; ReturnArray (aNumbers, sizeof (aNumbers) / sizeof (aNumbers [0])); Njia hii ya kupitisha safu kwa kazi na kurudisha data ya safu kutoka kwao hutumiwa katika hali nyingi wakati wa kuunda programu za C. Kumbuka kuwa kazi na njia ambazo zinakubali na kurudisha data kwa njia hii, kama sheria, lazima iwe na parameter ya ziada ambayo saizi halisi ya bafa hupitishwa.

Hatua ya 3

Rudisha safu iliyoundwa katika kazi au njia. Rasmi, katika kesi hii, sio safu inapaswa kurudishwa, lakini kiashiria kwa kipengee chake cha kwanza: int * ReturnArray () {int * pnArray = new int [10]; // fanya kazi na pnArray kurudi pnArray;} // pata kiashiria kwa safu iliyoundwa int * pnNumbers = ReturnArray (); // tumia kufuta pnNumbers; // kufuta Njia hii ina mapungufu kadhaa. Kwa hivyo, safu lazima iwe iko kwenye lundo. Kwa kuongezea, ufutaji wake lazima ufanyike na njia inayolingana na uumbaji (futa ikiwa utatumia mpya, bure kwa malloc, nk).

Hatua ya 4

Tumia madarasa ya kontena kurudisha safu wakati wa kutengeneza programu za C ++. Mfano wa kuunda na kurudisha safu ambayo ni kitu cha darasa la templeti ya vector ya Maktaba ya Kiwango cha kawaida ya C ++ iliyoainishwa kwa int inaweza kuonekana kama hii: #Ijumuisha std:: vector ReturnArray () {std:: vector oArray; ukubwa wa oArray (10); Mzunguko [0] = 100; safu [1] = 200; kurudi oArray;} std:: vector oArray = ReturnArray (); Kumbuka kuwa mifumo mingi maarufu hutoa darasa zenye nguvu au safu za templeti za safu. Mara nyingi hutekeleza dhana ya ushiriki kamili wa data na kuhesabu kumbukumbu na kunakili-kwa-kuandika. Kwa hivyo, kurudisha kwa thamani ya safu kama hizo kutoka kwa kazi hufanywa vizuri sana na inahusishwa na matumizi ya chini ya rasilimali za kompyuta.

Ilipendekeza: