Kezdőoldal » Számítástechnika » Programozás » Mi a karaktertomb es mi a string?

Mi a karaktertomb es mi a string?

Figyelt kérdés

2016. dec. 20. 16:34
1 2 3
 1/22 anonim ***** válasza:
Melyik nyelven?
2016. dec. 20. 16:38
Hasznos számodra ez a válasz?
 2/22 anonim ***** válasza:
100%
Adatszerkezetek.
2016. dec. 20. 16:42
Hasznos számodra ez a válasz?
 3/22 anonim ***** válasza:
3%
A string egy, méretében maximált, egy dimenziós karaktertömb, melynek elemei logikailag összefüggenek.
2016. dec. 20. 16:59
Hasznos számodra ez a válasz?
 4/22 anonim ***** válasza:
91%

A sztring (karakterlánc, karakterfüzér) egyszerű objektumok (általában karakterek) sorozata.


A karaktertömb, meg egy tömb melyben karakterek vannak - ezzel is meg lehet valósítani a sztring tárolását (C-ben például egy sztringet tároló karaktertömb végén van egy \0 karakter).

2016. dec. 20. 18:23
Hasznos számodra ez a válasz?
 5/22 anonim ***** válasza:
66%

Na de hogy legyen itt egy értelmes válasz is a sok off-topic hozzászólás mellett...


Akármilyen tömbről legyen is szó, az alapja ugyanaz mindegyiknek:

- homogén adatszerkezet: Ugye a tömbnek az volna a lényege, hogy több adatot egy egységként kezeljünk. Azért homogén a tömb, mert minden elem típusának meg kell egyeznie.

- statikus: Ez annyit tesz, hogy a tömb méretét nem változtathatod meg. Ha van egy 5 elemű tömböd, akkor abból nem csinálhatsz sem 4, sem 6 elemű tömböt.

- asszociatív: Ez annyit jelent, hogy egy adott számhoz egy adott értéket rendel hozzá. Ezt a számot, amihez az értéket rendeljük, indexnek nevezzük. Ez kulcsfontosságú lesz, ha el akarod érni a tömb valamely elemét. Egyes nyelvek azt vallják, hogy az első elem indexe 1 legyen, míg más nyelvek pedig 0-tól kezdik a számozást.


Innentől kezdve, ha karaktertömbről beszélünk, az nem más, mint egy olyan tömb, amelynek elemei karakter típusúak.


A string ezzel szemben egy olyan szekvenciális lista, amelynek az elemei karakterek. A különféle programozási nyelvek más-más módszert választhatnak a stringek tárolására:

- tárolhatják fix méretű területen: alma__, Sanyi_, terítő, egy___ (az aláhúzás a szabad helyeket jelenti)

- tárolhatjuk dinamikus méretű területen: 4alma, 5Sanyi, 3egy (a string előtti szám jelzi, hogy hány karakterből áll a string)

- valamint tárolhatjuk úgy is, hogy a végére valamilyen speciális jelet teszünk: alma\0, Sanyi\0, egy\0 (ez a \0 egy karaktert jelent, hiába két karakterrel írjuk le; ebben az esetben addig olvassuk a stringet, amíg ebbe a speciális végjelbe bele nem futunk).


És ezen túl a különféle programozási nyelvek választhatnak különféle eszközöket is a string-ek kezelésére:

- vannak nyelvek, akik egy egyszerű tömbbel oldják meg a string-ek kezelését (pl. a C nyelv)

- míg más nyelvek azt mondják, hogy egy saját, erre a célra kiképzett típust vezetnek be (mint pl. a C#, a C++, a Java stb.)

2016. dec. 20. 19:43
Hasznos számodra ez a válasz?
 6/22 anonim ***** válasza:
18%

"A string ezzel szemben egy olyan szekvenciális lista, amelynek az elemei karakterek."


Vagy nem, mert ugye, létezik bináris string is.

De nem ez az egyetlen hiba az irományodban.

2016. dec. 20. 19:50
Hasznos számodra ez a válasz?
 7/22 anonim ***** válasza:

Ahogy látom, a #8-as válaszoló egész jól megadta a választ.

Leírom, én hogy tudom, aztán legfeljebb én is el leszek küldve a rákba. :))


A string egy karaktersorozat, valamilyen jeleket (betűk, számok, stb.) reprezentáló értékek sorozata. Ezt a sorozatot többféleképpen lehet tárolni, feldolgozni.


Meg lehet valósítani pl. karakterek tömbjeként, ami egy sima tömb. A tömb méretének (string hosszának) megadása nyelvtől, fordítótól, algoritmustól függően eltérő lehet, de a lényeg ugyanaz.


String lehet még objektum is, bár maga az objektum általában "csak" elfedi a mögöttes tárolási módot. Gyakran ugyancsak tömb van a háttérben.


Elvben lehet akár pl. dinamikus láncként is stringet tárolni, ami karakter-objektumok lánca lenne. Ez is string, de nincs sok köze a klasszikus tömbökhöz.


De lehet kombinálni is, tehát karakter objektumok tömbjét hozzuk létre. Ennek akkor lehet jelentősége, ha mondjuk "wide" karakterekkel vagy UTF-8 karakterekkel dolgozunk. (A gyakorlatban ez erősen feladatfüggő, gyakran nem is célszerű, csak az elv miatt írtam.) Ez is egyfajta string, és még tömb is, de nem karaktertömb.

:)

2016. dec. 21. 14:25
Hasznos számodra ez a válasz?
 8/22 anonim ***** válasza:

"a #8-as válaszoló egész jól megadta a választ"

Azóta kicsit meg lettünk tizedelve. :)

A 4-esre gondoltam, és most látom, az 5-ös is teljesen korrekt. Én kb. ugyanazt írtam, csak más megközelítésben.

:)

2016. dec. 21. 14:32
Hasznos számodra ez a válasz?
 9/22 anonim ***** válasza:
Vagy lehet egy struktúra is ami tartalmaz egy char típusú változót és egy hivatkozást a rá következő elemre. Szal egy láncolt lista.
2016. dec. 21. 15:20
Hasznos számodra ez a válasz?
 10/22 A kérdező kommentje:
Akik a kerdesre valaszoltam koszonom szepen :)
2016. dec. 21. 20:29
1 2 3

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!