Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Sellaiset tiedot, joita ei haluta muuttaa ohjelman suorituksen aikana, kannattaa määritellä vakioiksi. Esimerkiksi pii Tällöin ei ole tarvetta huolehtia niiden muuttumattomuudesta. Kääntäjä tekee sen ohjelmoijan puolesta. Esimerkiksi piin arvo on tieto, joka ei muutu ikinä ohjelman ajon aikana.

Paljaat vakiot

Paljaat vakiot voidaan ryhmitellä seuraavasti:

  • Numeeriset vakiot, joita ovat esim. 5, 5.0, -5, 12.4

1. tapa: #define

  • Merkkivakiot, joita ovat esim. '5', 'A', 'a'
  • Merkkijonovakiot, jollainen on esim. "Turbo C"

Nimetyt vakiot

Paljaalle vakiolle voidaan antaa nimi, jota voidaan käyttää ohjelmassa kuten paljasta vakiota. Tällöin on määritelty nimetty vakio.

Nimetty vakio määritellään ohjelmassa esimerkiksi seuraavastiC:ssä käytetään monesti määrettä #define, jonka avulla voidaan määritellä vakioita (ja makroja):

Code Block
#define PII 3.14
  • Nimettyjen vakioiden määrittelyt kirjoitetaan ohjelman alkuun ennen void main(void)-riviä.
  • Nimet on tapana kirjoittaa suuraakkosin.
    Note

    On huomattava, että #define-määrittelyn jälkeen ei kirjoiteta puolipistettä.

...

2. tapa: const-muuttuja

Toinen tapa luoda vakio on määritellä muuttuja const-tyyppiseksi eli siis vakioksi.
Etuna tässä on se että #define määrittelyllä ei ole tyyppiä (siis char, int, float) ja se saattaa aiheuttaa ongelmia joissain tilanteissa.

const-muuttujan määrittelyEdellä mainitulla tiedolla ei kuitenkaan ole tyyppiä ja siksi varsinkin C++:ssa suositaan seuraavaa tapaa:

Code Block
const int vakio1 = -7;                            // Kokonaislukuvakio
const float Pii = 3.14;                           // Reaalilukuvakio
const char merkki1 = 'x';                         // merkkivakio
const char mjono1[] = "Tämä merkkijono on vakio"; // merkkijonovakio

const avainsana kertoo että -määrittely saa aikaan sen, että yllä olevassa esim. Pii onkin nyt vakio, tyyppiä int float.

Muuttuvan tiedon lukeminen

...