2.8.4 Taulukon alustaminen

Taulukko voidaan alustaa esittelynsä yhteydessä. Taulukon alustus suoritetaan kirjoittamalla taulukon nimen perään yhtäläisyysmerkki ja aaltosulkuihin taulukon alkioiden arvot, jotka ilmoitetaan vakiolausekkeilla ja erotetaan toisistaan pilkuilla. Jos aaltosuluissa on vähemmän arvoja kuin taulukossa on alkioita, taulukon loppupään alkiot saavat arvokseen nollan:

double luvut[3] = {14.7, 3.14, 2.345}; // kaikki kolme alkiota
                                       //  alustetaan
int taulu[10] = {0};          // kaikki alkiot nollataan!
int taulu[10] = {1};          // eka alkio 1, loput nollia
int taulukko[10] = {3, 7, 5}; // kolme ekaa alkiota 3, 7 ja 5,
                              //  loput nollia

Muista, että jos alustusta ei ole, niin taulukon alkiot jäävät määrittelemättömiksi (aivan kuten yksinkertaistenkin muuttujien tapauksessa):

double luvut[3]; // ei alusta mitään!

Jos taulukko alustetaan esittelynsä yhteydessä, ei esittelyssä välttämättä tarvitse erikseen mainita taulukon kokoa. Tällöin taulukon koko määräytyy alustuksen perusteella:

int taulu[]={1,2,3,4,5,6};
/* vastaa esittelyä int taulu[6]={1,2,3,4,5,6} */

Myös useampiulotteinen taulukko voidaan alustaa esittelynsä yhteydessä seuraavan mallin mukaisesti:

int taulu[3][5]={ {1,2,3,4,5}, {3,4,5,6,7}, {5,6,7,8,9} }

Jos taulukko halutaan alustaa esittelyn jälkeen, se on tehtävä alkio kerrallaan:

double luvut[MAX];
...
for (i=0; i<MAX; i++)
  luvut[i] = 0.0;

Vastaavasti kaksiulotteisen taulukon alustaminen voidaan tehdä kahden sisäkkäisen silmukan avulla seuraavasti:

double luvut[MAX][MAX];
...
for (i=0; i<MAX; i++)   // käydään läpi rivit
  for (j=0; j<MAX; j++) // käydään läpi sarakkeet
    luvut[i][j] = 0.0;