2.2.8 Merkkitieto

Merkkimuuttujalle varataan muistista useimmiten 8 bittiä eli yksi tavu. C++-kielessä merkkivakiot esitetään heittomerkkien (') sisällä. Merkkityyppisen muuttujan merkki arvoksi voidaan sijoittaa kirjain A lauseella

merkki = 'A';

Koska heittomerkki kuuluu kiinteästi merkkivakion esitykseen, merkitään heittomerkkiä itseään merkkiyhdistelmällä \' (kenoviiva ja heittomerkki). Lainausmerkillä (") merkitään C++-kielessä merkkijonovakioita, joten lainausmerkille itselleen on otettu merkintä \". Samoin kenoviivalle tarvitaan oma erikoismerkintänsä \\. Jos merkkityyppisen muuttujan merkki arvoksi halutaan '-merkki, "-merkki tai \-merkki, täytyy sijoitukset kirjoittaa

merkki = '\'' ;  merkki = '\"' ;  merkki = '\\' ;

(Tekstinkäsittelyohjelmista johtuen voi monisteessa heittomerkin tilalla joskus olla '-merkki ja lainausmerkin sijalla "-merkki.)

C++:ssä on myös muita erikoismerkkejä, jotka ilmaistaan erikoismerkin \ avulla:

\a

hälytys (alert), yleensä äänimerkki

\b

peruutusmerkki (Backspace)

\f

sivunvaihtomerkki (Form Feed)

\n

rivinvaihtomerkki (Line Feed)

\r

palautus rivin alkuun (Carriage Return)

\t

vaakasuora tabulointi (Horizontal Tab)

\v

pystysuora tabulointi (Vertical Tab)

\'

heittomerkki

\"

lainausmerkki

\\

kenoviiva

\0

merkkijonon loppumerkki

\nnn

merkki, jonka oktaalikoodi (8-järjestelmän arvo) on nnn

Huomaa, että char-tyyppiseen muuttujaan voidaan tallentaa vain yksi merkki. Jos halutaan tallentaa useampia merkkejä samaan muuttujaan, käytetään merkkijonoja. Varsinaisesti merkkijonot käsitellään myöhemmin, mutta jo tässä vaiheessa on hyvä tietää, että esimerkiksi

char nimi[50];

määrittelee merkkijonomuuttujan nimi, jonka maksimipituus on 50 merkkiä. Tästä yksi paikka on aina varattu loppumerkille \0, joten muuttujaan mahtuu korkeintaan 49 "tavallista" merkkiä. Merkkijonoja käytettäessä on oltava tarkkana, ettei vahingossa ylitetä maksimipituutta.