Változók Flashcards

1
Q

Miket használunk változók deklarálásánál? Miért?

A

Változók deklarálásánál adattípusokat használunk annak érdekében, hogy meghatározzuk, hogy milyen típusú adatot fog tárolni a változó.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

amikor deklarálunk egy változót mi történik?

A

Amikor definiálunk egy változót, akkor a memóriában az lefoglal egy akkora helyet, mint amekkorát az adott típusú adat tárolása igényel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

primitív adattípusok:

mi az integer?

A

4 byte memóriát foglal. Egész számok tárolásához használják.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

mi a char?

A

Karakterek tárolására használják. 1 byte memóriát foglal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

mi a bool?

A

1 byte memóriát foglal. Igaz/Hamis értékeket tárol. C++ programban 1 vagy 0-ként jelenik meg.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Mi a float?

A

Szimpla lebegőpontos tört értékeket tárolunk benne. 4 byte memóriát foglal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Mi a Double?

A

Dupla lebegőpontos tört értékeket tárolunk benne. 8 byte memóriát foglal. Pontosabb, mint a float.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Mi a void?

A

Érték nélküliséget jelzi, voiddal jelölt függvények nem térnek vissza valamilyen értékkel.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

mi az unsigned?

A

Csak pozitív számokat tárol plusz 0-t.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

adattípus módosító szavak:

Mi a signed?

A

Pozitív és negatív értékeket is tárolhat. Tehát a legnagyobb tárolható szám méretének felét pozitív és negatív irányban plusz a 0-t.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

mi a short?

A

Csak 2 byte-ban tárol számokat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Mi a long?

A

4 vagy 8 byte-ban tárol számokat.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Mik lehetnek absztrakt vagy programozó által definiált típusok?

A

Létrehozott osztályok és struct-ok.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

melyik típus nem a c++ része?

A

Fontos még megemlíteni a string típust, ami, habár nem konkrétan a c++ része, de standard library része és a legtöbb compiler támogatja ezt a típust.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Mi a hatókör?

A

A hatókör lényegében egy határt definiál, amin belül a változókat használni/elérni tudjuk.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Mely 2 típus létezik a változók csoportosítására hatókör szerint?

A

Az első típus a lokális változók kategóriája. A második típus a globális változók.

16
Q

mik a lokális változók?

A

Ezek azok a változók, amik egy kódblock-on belül lettek deklarálva. Egy {} kapcsoszárójel páron belül. A lokális változók nem elérhetők ezeken a blockokon kívül, mivel nem léteznek a saját blockjukon kívül.

17
Q

mik a globális változók?

A

a programon belül bárhol elérhetők. A program ’tetején’ szokás deklarálni ezeket, függvényeken (tehát a mainen is) kívül. Ezek a változók a program futása alatt végig elérhetők, tehát életciklusuk a program végéig tart.
A globális változót úgy érjük el a lokális változó mellett a függvényben, hogy a :: operátort használjuk a globális változó hivatkozásánál.

(Ha két ugyanolyan nevű változó van a programban, az egyik globális a másik egy lokális és egyszerre kellene használni a kettőt. Ha így, különböző hatókörben vannak, akkor a program nem fog fordításidejű hibát dobni. Ebben az esetben a precedencia a lokális változóé,)

18
Q

Mi a változók élettartama?

A

Élettartam (lifetime): a program végrehajtása közben az az időtartam, ameddig a változó a memóriában van (csak része a hatáskörnek, de nem mindig) VAGY az az idő, amely alatt az adott objektum a rendeltetésnek megfelelő paraméterekkel üzemel.

19
Q

Mi a lokális éllettartam?

A

akkor történik meg a memóriafoglalás, amikor a vezérlés belép az őket magába foglaló blokkba vagy függvénybe; amint a vezérlés elhagyja ezt, megszűnnek. Veremben vagy regiszterben tárolódnak.Mindig kell őket inicializálni, mert alapértelmezetten a veremműveletek során hátramaradt memóriaszemétből kapnának kezdőértéket. Blokkszintű változók ilyenek. Más változók auto vagyregister tárolási osztállyal tehetőek ilyenné.

20
Q

mi a globális éllettratam?

A

globális: a memória hozzárendelés a program indulásakor megtörténik és kitart a futás végéig; nevezik még statikusnakis. Ilyenek a fájl szintű változók és bármely függvény. Más változók static vagy extern tárolási osztállyal tehetőek ilyenné. Alapértelmezetten minden memóriabit kezdőértéke zérus.

21
Q

Mi a dinamikus éllettartam?

A

dinamikus: a felhasználó saját maga végzi a memóriafoglalást (malloc, new) és felszabadítást (free, delete) könyvtári függvények segítségével. Igazából csak a C++ nyelvben van jelen (ahol operátorok valósítják meg a memóriakezelést), mivel a C nyelvnek nem részei a könyvtári függvénye

22
Q

Mi a precedencia?

A

Ha egy olyan utasítást kell kiértékelnie a programnak, amiben több operátor van, akkor milyen sorrendben történjen az operátorok általi kiértékelés.

23
Q

Minek kell teljesülnie, hogy egyenlő precedenciával rendelkezzen két operátor? Ezen mi változtat?

A

Az ugyanolyan precendencia számmal rendelkező operátorok egyenlő precedenciával rendelkeznek, hacsak () zárójelekkel nincsen másféle kapcsolat rájuk erőltetve.

24
Q

Mi a precedencia szabály?

A

Ha egy kifejezésben különböző elsőbbségű műveletek szerepelnek, akkor mindig a magasabb precedenciával rendelkező operátort tartalmazó részkifejezés értékelődik ki először.

25
Q

Mi az asszociativitás ?

A

Az asszociativitás határozza meg, hogy az adott precedenciaszinten található műveleteket balról-jobbra vagy jobbról-balra haladva kell elvégezni.

26
Q

Mutass példát asszociativitásra.

A

Például, az értékadó utasítások csoportjában a kiértékelés jobbról-balra halad, ami lehetővé teszi, hogy több változónak egyszerre adjunk értéket:
a = b = c = 0; azonos az a = (b = (c = 0));

26
Q

Mutass példát asszociativitásra.

A

Például, az értékadó utasítások csoportjában a kiértékelés jobbról-balra halad, ami lehetővé teszi, hogy több változónak egyszerre adjunk értéket:
a = b = c = 0; azonos az a = (b = (c = 0));

27
Q

Mi történik, ha azonos precedenciájú műveletek szeepelnek egy artmetikai kifejezésben?

A

A balról-jobbra szabály lép életbe..