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

Vakiot

Sellaiset

...

tiedot,

...

joita

...

ei

...

haluta

...

muuttaa

...

ohjelman

...

suorituksen

...

aikana,

...

kannattaa

...

määritellä

...

vakioiksi.

...

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

...

  • 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

...

seuraavasti:

{
Code Block
}
#define PII 3.14
{code}

* Nimettyjen vakioiden määrittelyt kirjoitetaan ohjelman alkuun ennen void 
  • 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äärittely:

{
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
{code}

*const*\

const-määrittely

...

saa

...

aikaan

...

sen,

...

että

...

yllä

...

olevassa

...

esim.

...

Pii

...

onkin

...

nyt

...

vakio,

...

tyyppiä

...

float.

Muuttuvan tiedon lukeminen

Kun tietoa luetaan esim. joltain laiteportilta, voidaan tehdä seuraavasti:

Code Block
}}.

h1. Muuttuvan tiedon lukeminen

Kun tietoa luetaan esim. joltain laiteportilta, voidaan tehdä seuraavasti:

{code}
const volatile unsigned char *port = 0x30;
{code}

Ohjelma

...

lukee

...

portilta,

...

jonka

...

heksadesimaalinen

...

osoite

...

on

...

0x30,

...

arvon,

...

jonka

...

ohjelma

...

ymmärtää

...

vakiona

...

ja

...

siten

...

se

...

kykenee

...

ainoastaan

...

käyttämään

...

ko.

...

muuttujan

...

arvoa

...

muttei

...

muuttamaan

...

sitä.