Taulukon Palauttaminen

Sisällysluettelo:

Taulukon Palauttaminen
Taulukon Palauttaminen

Video: Taulukon Palauttaminen

Video: Taulukon Palauttaminen
Video: Эпикондилиты и тесты для диагностики синдромов 2024, Saattaa
Anonim

Taulukot ovat yksi yksinkertaisimmista strukturoidun datan tallennustavoista. Koska jakamattomat muistialueet on varattu yksiulotteisten taulukoiden tallentamiseen ja useimmilla ohjelmointikielillä on syntaktisia rakenteita ilmoitusta varten, niitä käytetään intensiivisesti puskureina siirtämään suuria määriä tietoa erilaisiin (kirjasto mukaan lukien) toimintoihin. Toisaalta toimintojen on joskus palautettava matriisi.

Taulukon palauttaminen
Taulukon palauttaminen

Välttämätön

  • - tekstieditori;
  • - C tai C ++ kääntäjä ja linkkeri.

Ohjeet

Vaihe 1

Palauta funktion tai menetelmän tiedot sijoittamalla se kiinteän pituiseen ryhmään, jonka soittaja on jakanut ja joka on siirretty viitteenä. Määritä sopiva tietotyyppi, esimerkiksi: typedef int t_array10 [10]; Käytä sitä vaaditun toiminnon tai menetelmän ilmoituksessa ja toteutuksessa: void ReturnArray (t_array10 & raOut) {raOut [0] = 10;} Soita asianmukaisesti: int aNumbers [10]; ReturnArray (aNumbers); Tämän menetelmän haittana on, että matriisin pituus on kiinteä.

Vaihe 2

Palauta matriisidata sijoittamalla se soittajan osoittamaan lähtöpuskuriin, jonka osoitin välittää. Funktion tai menetelmän prototyyppi voi sisältää parametrin, joka ilmoitetaan sekä taulukon merkinnässä ilman kokomäärittelyä: void ReturnArray (int anArray , int nSize) tai osoittimena: void ReturnArray (int * pnArray, int nSize); molemmissa tapauksissa tunnisteparametriä voidaan käyttää taulukon merkinnöissä: void ReturnArray (int * pnArray, int nSize) {for (nSize--; nSize> -1; pnArray [nSize] = nSize--);} // call int aNumbers [10]; ReturnArray (aNumbers, sizeof (aNumbers) / sizeof (aNumbers [0])); Tätä menetelmää taulukoiden välittämiseksi funktioille ja ryhmätietojen palauttamista niistä käytetään valtaosassa tapauksia kehitettäessä C-ohjelmia. toiminnoilla ja menetelmillä, jotka hyväksyvät ja palauttavat tietoja tällä tavoin, on pääsääntöisesti oltava ylimääräinen parametri, jonka kautta puskurin todellinen koko välitetään.

Vaihe 3

Palauta funktiossa tai menetelmässä luotu taulukko. Muodollisesti tässä tapauksessa ei pitäisi palauttaa taulukkoa, vaan osoittimen sen ensimmäiseen elementtiin: int * ReturnArray () {int * pnArray = new int [10]; // työskentele pnArray-palautuksen kanssa pnArray;} // hae osoitin luotuun taulukoon int * pnNumbers = ReturnArray (); // käytä delete pnNumbers; // poista Tällä menetelmällä on joitain rajoituksia. Joten ryhmän on sijaittava kasassa. Lisäksi sen poisto on tehtävä luomista vastaavalla menetelmällä (poista, jos käytetään uutta, ilmainen mallocille jne.).

Vaihe 4

Käytä säilöluokkia palauttaaksesi matriisit kätevästi C ++ -ohjelmia kehitettäessä. Esimerkki intille määritetyn C ++ -standardimallikirjaston vektorimalliluokan objektin sisältävän taulukon luomisesta ja palauttamisesta saattaa näyttää tältä: #include std:: vector ReturnArray () {std:: vector oArray; oArray.resize (10); oArray [0] = 100; oArray [1] = 200; return oArray;} std:: vector oArray = ReturnArray (); Huomaa, että suurin osa suosituista kehyksistä tarjoaa tehokkaita luokkia tai matriisiluokkamalleja. He toteuttavat usein implisiittisen tiedonjaon käsitteen viitteiden laskemisen ja kopioi kirjoitettavaksi -toiminnon avulla. Siksi tällaisten matriisien arvon palauttaminen toiminnoista suoritetaan erittäin tehokkaasti, ja se liittyy laskentaresurssien minimaaliseen kulutukseen.

Suositeltava: