Kezdőoldal » Számítástechnika » Programozás » C/C++ nyelvekben egy negatív...

C/C++ nyelvekben egy negatív szám literál esetén a mínusz jel operátor vagy a literál része?

Figyelt kérdés

2020. nov. 20. 16:41
 1/9 anonim ***** válasza:
Operátor
2020. nov. 20. 16:43
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
Unáris operátor.
2020. nov. 20. 16:48
Hasznos számodra ez a válasz?
 3/9 anonim ***** válasza:
0%
Forráskód korában operátor, feldolgozás (fordítás után) után meg a literál része (MSB).
2020. nov. 20. 18:45
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:
100%
Azt már nem nevezzük literalnak. Azt csak a kódban nevezzük így. :)
2020. nov. 20. 21:37
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
0%

4:

Nem egészen.

A kódban is literál (vagy konstans) a nevük.

2020. nov. 20. 22:12
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:

"A literál nem más, mint a program szövegében direkt módon beleírt adat."


Hernyák Zoltán


"A literál olyan állandó érték, amely a program kódjába beépül, és azt a továbbiakban (futás közben) nem lehet megváltoztatni. A literálok fajtái: egész, valós, logikai, karakter, szöveg, null"


Angster Erzsébet.

2020. nov. 20. 22:18
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
Butaság, hogy nem tudod megváltoztatni. Ha tudod hol keresd a memóriába akkor sima ügy. ;)
2020. nov. 21. 00:12
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:
Magába a programba nem tudod megváltoztatni, de kívülről igen. Ami már a memóriába van az nem literal és nem is annak nevezzük. Az, hogy a kódba annak nevezzük igen. Az helyes válasz részedről is.
2020. nov. 21. 00:13
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
0%

"Magába a programba nem tudod megváltoztatni, de kívülről igen."


Nem ez a lényeg, hanem az, hogy nem szoktuk megváltoztatni. Ezért ez a neve, a literál annyi, mint ami nem változik.


"Ami már a memóriába van az nem literal és nem is annak nevezzük. "


Hanem minek nevezzük? :)

Amikor a kód lefordul, akkor képződik két program fragmentum. Az egyik a kód (CODE), a másik az adat (DATA).

Amikor a kód bekerül a memóriába, akkor read only lesz, tehát csak olvasható, írni nem lehet.

Ha a programban egy int tipusú változót deklarálok, akkor az annyit jelent kódszegmens oldalon, hogy lesz egy memóriacím ahonnan kezdődően érhető el egy érték. Ha a kódomban (forrás) ehhez a változóhoz értéket rendelek (mondjuk legyen 30), akkor ugye a fent említett memóriacímen ott lesz a 30.

De írni nem tudom ezt a kezdőértéket, csak olvasni, pedig hát, kéne. Ezért a kód tartalmazni fogja azt a részt, hogy adott címről az érték (30) átmásolódik a program DATA szegmensébe és ott már nem csak olvasni de írni is lehet.

Viszont a CODE szegmensbe soha többé nem írhatom vissza a megváltozott értéket. Az marad úgy, ahogy volt, mert (elvileg) érinthetetlen. Hát ezért literál a 30, mert soha nem változik meg a program futása során. A hanyagabb mérnökök emiatt nevezik konstansnak. Pedig a kettő nem ugyanaz, de ez már egy másik történet.

2020. nov. 21. 02:30
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!