Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Muuttujiin talletaan tiedot, joita ohjelma käsittelee. Tieto voi olla lukuja ja merkkejä, tieto voi olla esitetty yksittäinä arvoina , vektoreina tai taulukkomuodossa.
Muuttujat ovat siis tietovarastoja, tietovarastot ovat erilaiselle tiedolle erikokoisia.

Siksi C-kielessä tiedolla on aina tyyppi, tyyppi kertoo muuttujan tarvitseman muistin määrän. Tietokoneen muistia kuvataan tavuilla. Tavun pituus on kahdeksan bittiä. Kahdeksalla bitillä voidaan kuvata luvut 0...255 tai -128...+127.

Esimerkiksi ASCII-taulukossa, joka sisältää tietokoneen esittämät merkit, jokainen kirjoitettava merkki edustaa lukua 0...255. Täten yksi merkki varaa tietokoneelta muistia yhden tavun. (UNIUunicode-koodissa merkistössä merkkit esitetään  esitetään kahdella tavulla, jollin jolloin voidaan esittää 65535, jolloin miltei kaikki maailman merkit saadaan esitettyä ilman erillisiä kooditaulukoita)

C-kielen muuttujien tyypit:

tyyppi

merkitys

etumerkitön lukualue

etumerkillinen lukualue

char

merkki

0...255

-128...+127

short

lyhyt kokonaisluku

0...65536

-32767...+32768

int

kokonaisluku

0...4294967296

-2147483647...+2147483648

long

pitkä kokonaisluku

0...18446744073709551615

-9223372036854775808...+9223372036854775807

float

reaaliluku

?

?

double

kaksoistarkkuuden reaaliluku

?

?

void

tavuosoitin (voidaan ajatella, että tämä ei tarkoita mitään)

-

-

Muuttujan tyyppi kertoo sen, millaista tietoa muuttujaan voi tallentaa, esimerkiksi char OmaMuuttuja voi tallettaa yhden merkin.

Eli muuttujaan OmaMuuttuja voidaan sijoittaa yksi merkki, esimerkiksi,:

Code Block
char OmaMuuttuja = 'a'; // huom\! yksittäiset merkit laitetaan heittomerkkien väliin.

Toinen esimerkki.:

Code Block
int iLukuLuku = 5; // kokonaislukumuuttuja, joka voi tallettaa etumerkillisen luvun 

Muuttuja voidaan haluttaessa myös alustaa esittelyn yhteydessä, esim.

Code Block

int Luku=5;
char Merkki='a';

Muuttujalle voidaan antaa lisämääreitä:

Määre

Merkitys

Käy seuraaviin tyyppeihin

signed

etumerkillinen

char, int

unsigned

etumerkitön

char, int

long

pitkä

int

short

lyhyt

int

Esim.

Code Block
unsigned int Luku = 65535; // Muuttuja voi olla ainoastaan positiivinen kokonaisluku

Lisämääreillä tarkennetaan tyyppiä. Lisämääreiden merkitys on kääntäjäkohtaista ja siksi ne on syytä tarkastaa ko. kääntäjän käsikirjoista.

Muuttujan nimeäminen

Muuttuja kannattaa nimetä selkeällä nimellä, joka kertoo muuttujan käyttötarkoituksen. Huom! isot ja pienet kirjaimet tarkoittavat eri asiaa.
Puhdas C-kielen esittelytapa on seuraava:

...

Muuttujan eri sanat voidaan erotella  erotella toisistaan esimerkiksi alaviivalla.

...

Code Block
int AutonNopeus;

Monet ohjelmoitsijat ohjelmoijat liittävät muuttujan eteen kirjaimen kuvaamaan muuttujan tyyppiä seuraavasti:

...