Kezdőoldal » Számítástechnika » Programozás » Mi a különbség c-ben aközött,...

Mi a különbség c-ben aközött, ha egy int értéke "a" vagy 'a'?

Figyelt kérdés
És hosszabb szövegeket lehet tárolni int-ben? akkor van különbség pl. aközött, hogy "alma" vagy 'alma'?
2013. dec. 7. 18:11
 1/9 anonim ***** válasza:
100%

"a" egy karakter hosszú string, tömb {'a', '\0'}

'a' a karakter ascii kódja


"alma" létezik, 'alma' nem.

2013. dec. 7. 18:16
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
Hát ez baromira nyelvfüggő. Az első válasz egyáltalán nem érvényes általánosan, amíg nyelvet nem írsz mellé. Általában szövegeket nem intben tárolunk. Egy karakternek a kódját lehet tárolni.
2013. dec. 7. 19:05
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:
Bocsánat, stornó az előző válaszom, mert benne van a kérdésben, csak nem figyeltem. De miért akarsz intben tárolni szövegeket?
2013. dec. 7. 19:06
Hasznos számodra ez a válasz?
 4/9 iostream ***** válasza:

Na. Természetesen lehetséges intben hosszabb szöveget tárolni, de ez teljességgel rendszer, implementáció és egyébként függő. Ha maradunk a normál 8 bites karaktereknél, és neked mondjuk van 32 bites inted, akkor 4 karakter épp elfér benne, tehát az alma elfér. Ki is próbálhatod:


char* almaPtr("alma");

int almaInt(*(int*)almaPtr);

int masikInt = almaInt;

fwrite(&masikInt, 1, 4, stdout);

2013. dec. 7. 21:15
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
Igazad van, de ez már a nyelv megerőszakolása, legalábbis nem rendeltetésszerű használat. :-)
2013. dec. 7. 21:31
Hasznos számodra ez a válasz?
 6/9 iostream ***** válasza:

Annyira egyébként nem. Tudjuk, hogy a karakterek egymás után jönnek, tudjuk, hogy minden típus a char méretének többszörösét foglalja el. Tudjuk, hogy az int többnyire az a méret, amivel a gép a leggyorsabban tud számolni.


Szövegek összehasonlításakor nagyon hatékony tud lenni egy ilyesféle, a szöveget nagyobb számok sorozataként kezelő megközelítés.


Az erőszakolás ott jöhet be, ha például int csak bizonyos, például 4 byte-os határokon lehet, char meg nem rendelkezik ilyen korlátozásokkal, és emiatt a mutatózás nem működik esetleg.

2013. dec. 7. 21:57
Hasznos számodra ez a válasz?
 7/9 iostream ***** válasza:
Szövegek összehasonlítása alatt például értem azt, hogy egy résszöveget keresel egy nagyobb szövegben. Ha naívan végigmész, és mindenhol elkezded nézni, hogy na itt az van-e, az nagyon lassú lesz.
2013. dec. 7. 21:58
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:
Hát, ha én nagyon keresek valamit, akkor regexet használok, a többi meg az ő dolga. :-)
2013. dec. 7. 22:15
Hasznos számodra ez a válasz?
 9/9 iostream ***** válasza:
Persze, de valaki ott is megírja hatékonyan az algoritmusokat.
2013. dec. 7. 23:44
Hasznos számodra ez a válasz?

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!