next up previous contents
Elõre: Az egész típusok Fel: A változók alaptípusai Vissza: A változók alaptípusai

A karakter típus és a sztringek

A karakter típusú változó egy karakter tárolására alkalmas. A BORLAND C++ fordító - az MS-DOS operációs rendszerrel összhangban - a karaktereket az ASCII tábla szerint kódolja. A karakterállandók megadása egyszeres idézõjelek között történik, például 'A', '(', stb. Lehetõség van bizonyos nem látható karakterek ábrázolására a backslash karakter segítségével. Ezeket a 1.1. táblázatban foglatuk össze.

  


C-beli jelölés Karakter Magyarázat

'\a' (BEL) csengõ karakter
'\b' (BS) visszaléptetés
'\f' (FF) lapdobás
'\n' (LF) újsor (soremelés)
'\r' (CR) kocsi vissza
'\t' (HT) vízszintes tabulátor (vagy másképpen: TAB)
'\v' (VT) függõleges tabulátor
'\\' (\) maga a backslash karakter
'\'' (') egyszeres idézõjel (apostrophe)
'\"' (") dupla idézõjel
'\?' (?) kérdõjel
'\ooo' a ooo oktális kódú karakter
'\xhhh' a hhh hexadecimális kódú karakter

1.1 táblázat: Backslash-szekvenciákkal megadható karakterek

A karakterláncok (sztringek) a C nyelvben nem alaptípusok, hanem karaktertömbökben ábrázoljuk õket. Mivel egy sztring hossza dinamikusan változhat, ezért a lefoglalt tárterületbõl adott pillanatban csak bizonyos karakterek tartoznak ténylegesen a karakterlánchoz. A problémát úgy oldották fel, hogy a karakterkészlet egyik elemét kijelölték arra a speciális funkcióra, hogy a sztringek végét jelezze, ily módon tehát ez a karakter magának a sztringnek soha sem lehet része. Ez a speciális karakter a '\0', azaz a 0 kódú karakter, amit a továbbikban az EOS szimbolikus néven (End Of String) fogunk hívni. A sztringállandókat a fordítónak dupla idézõjelek között lehet megadni, például "Hello". Ezt a fordító úgy értelmezi, hogy le kell foglalni 5+1 karakternyi (6 byte) helyet a memóriában, és a következõ karakterekkel, mint kezdõértékkel kell feltölteni: 'H', 'e', 'l', 'l', 'o', EOS. A sztringben lehetnek backslash-t alkalmazó szekvenciák is, például

            "Ez egy idezojel: \"\n"

ami   a   memóriába   a következõképpen kerül: 'E', 'z', ' ', 'e', 'g', 'y', ' ','i', 'd', 'e', 'z', 'o', 'j', 'e', 'l', ':', ' ', '"', LF, EOS.   A sztringkonstansok nem nyúlhatnak át a következõ sorba, de lehet õket egymás után való írással egyesíteni (konkatenálni), például:

 

                        "Ez egy 2 sorba irt "
                         "sztringkonstans"