Ero sivun ”C” versioiden välillä

Poistettu sisältö Lisätty sisältö
Tronic (keskustelu | muokkaukset)
Tronic (keskustelu | muokkaukset)
Rivi 365:
==== Staattiset ====
 
Staattisessa kaksiulotteisessa taulukossa <tt>taulukko[3][4]</tt> on 12 alkiota, jotka on sisäisesti tallennettu 12-alkioiseen 1-ulotteiseen taulukkoon, mutta kääntäjä antaa indeksoida taulukkoa ikään kuin se olisi kaksiulotteinen. Kirjoittaessasi taulukko[i][j], hakee kääntäjä taulukostaan alkion [i * 4 + j]. Huomaa, että tässä kääntäjän oli tiedettävä taulukon taulukon koko toisen dimension suhteen. Vastaavasti kolmiulotteisella staattisella taulukolla taulukko[3][4][5], viitattaessa soluun taulukko[i][j][k], indeksi lasketaan [i * 4 * 5 + j * 5 + k]. Huomionarvoista tässä on, että taulukon käyttämiseksi kääntäjän täytyy aina tietää sen dimensiot, ensimmäistä lukuun ottamatta.
 
Kirjoittaessasi taulukko[i][j] hakee kääntäjä taulukostaan alkion [i * 4 + j]. Huomaa, että tässä kääntäjän oli tiedettävä taulukon taulukon koko toisen indeksin suhteen. Vastaavasti kolmiulotteisella staattisella taulukolla taulukko[3][4][5], viitattaessa soluun taulukko[i][j][k], indeksi lasketaan [i * 4 * 5 + j * 5 + k]. Huomionarvoista tässä on, että taulukon käyttämiseksi kääntäjän täytyy aina tietää sen koko kaikkien muiden paitsi ensimmäisen indeksin suhteen.
 
Staattiset moniulotteiset taulukot esitellään samoin kuin yksiulotteisetkin ja ne voi myös alustaa vastaavasti (jos ei alusta, ovat taulukon sisältämät arvot satunnaisia).
Noudettu kohteesta ”https://fi.wikibooks.org/wiki/C