2.2.3 Muuttujan esittely

Johtuen eri tietoalkioiden erilaisesta tilantarpeesta (esim. merkkitieto 1 tavu, kokonaisluku 2 tavua, liukuluku 4 tavua, kaksoistarkkuuden liukuluku 8 tavua) täytyy jokainen ohjelmassa käytettävä muuttuja esitellä ennen varsinaista käyttöä, jotta kääntäjä osaa varata muuttujalle tarpeeksi tilaa.

Muuttujan esittely on muotoa

tyyppi  muuttujan_nimi;

Tyyppi voi olla esim. jokin valmiiksi määritellyistä tyypeistä

Käyttäjä voi myös itse luoda omia tietotyyppejään eli tietorakenteitaan. Esittely on lause, joten sitä seuraa aina puolipiste.

Esimerkkinä liukulukumuuttujan lampotila esittely:

Samalla kertaa voidaan esitellä useampia samantyyppisiä muuttujia. Tällöin muuttujat erotetaan toisistaan pilkuin:

tyyppi  muuttuja1, muuttuja2, ...;

Seuraavassa esimerkissä esitellään liukulukumuuttujat lampotila ja paino sekä kokonaislukumuuttujat kierrokset ja ika:

double lampotila, paino;
int    kierrokset, ika;

Muuttujan esittely voidaan suorittaa sen lohkon sisällä, jossa muuttujaa tullaan käyttämään. Tämä mahdollistaa ns. lokaalien muuttujien määrittelyn (paikallinen muuttuja). Jos muuttuja määritellään funktioiden ulkopuolella, on kyseessä globaalin muuttujan määrittely (yleinen muuttuja). Määrittely suoritetaan tällöin tavallisesti heti direktiivien jälkeen, vaikkakin se on sallittua myös muualla.

Yleensä ohjelmissa käytetään vain lokaaleja muuttujia. Globaaleja muuttujia käytetään ainoastaan erikoistapauksissa (jollaisia tällä kurssilla ei tule vastaan).

Esimerkki lokaalien muuttujien määrittelystä:

/* *********************************************************
MUUTTUJA.CPP
  Määritellään joitain lokaaleja muuttujia ja sijoitellaan
  niihin erilaisia arvoja.
********************************************************* */

int main(void)
{
  int osamatka, kokomatka;    // kokonaislukumuuttujia
  float paras, huonoin;       // liukulukumuuttujia
  char merkki, toinen_merkki; // merkkimuuttujia
  double tarkempi_luku;       // kaksoistarkkuuden
                              //  liukulukumuuttuja

  osamatka = 10;          // Sijoituslauseita, joissa muuttujille
  kokomatka = 5*osamatka; //  asetetaan arvoja. Sijoituslauseista
  paras = 9.5;            //  kerrotaan myöhemmin.
  huonoin = 5.5;
  merkki = 'A';           // Huomaa, että useimpia muuttujista ei
  toinen_merkki = 'b';    //  käytetä mihinkään sijoituksen jälkeen.
  tarkempi_luku = 0.003;  //  Kääntäjä voi antaa tästä varoituksen.

  return 0;
}