C++ nyelven mit jelent a * a változó neve előtt?
Értem én hogy kell az oda, de a miértjére lennék kíváncsi, mi célt szolgál. Például itt:
SDL_Window *win = nullptr;
Azt tudom hogy ezzel SDL_Window típusú változót(struktúra) hozunk létre, aminek a neve win, és nulla értéket adunk neki, mert majd később megadjuk neki. De a csillag miért?
Pointer. Jelöli, hogy a változó az nem egy struktúra v. érték, hanem egy struktúrára v. változóra mutató pointer.
Biztos, hogy SDL-ezni kell, ha a pointerek még kimaradtak?
az egy pointert jelöl, nem pedig változót :D
pl van mondjuk
int a=5;
int *p;
p=&a;
*p=7;
itt először létrehozunk egy int változót, aminek 5 értéket adunk
utána létrehozunk egy int változóra mutató pointert
a pointernek értékül adjuk 'a' változó címét (& a címképző operátor)
majd ahova a p pointer mutat, annak az értékét változtatjuk 7-é, ezáltal megváltoztattad a értékét :D
de miért máris grafikus felülettel csinálod ha ennyire alap dolgot nem tudsz?
egyébként ahogy nézem itt nagyon szépen el van magyarázva: [link]
"SDL_Window *win"
A win egy olyan pointer (mutató) változó, amiben egy SDL_Window típusú terület címe van, tehát arra mutat.
"Azt tudom hogy ezzel SDL_Window típusú változót(struktúra) hozunk létre"
Tévedés. Ezzel semmi ilyet nem hozol létre, csak egy olyan pointert, amivel majd hivatkozhatsz egy ilyen struktúrára.
Egy fura példa a mutatókra (pointerekre).
Ember jenő;
Ezzel létrehoztam Jenőt, aki mondjuk itt terem az asztal tetején. Tudok vele beszélni, ha akarok.
Ember *jenő;
Ezzel létrehoztam egy olyan elérhetőséget, mondjuk egy telefonszámos cetlit, amire majd ráírhatom Jenő számát, és ezzel el tudom érni. Ettől még Jenő nem biztos, hogy létezik, de ha létezni fog, akkor ráírhatom a számát és már beszélhetek vele bármikor ugyanúgy, mintha itt ülne az asztalon.
A pointer egy olyan változó, ami egy memóriacímet tárol, és ezzel a pointerrel el is érhető az a memória (pl. másik változó).
#9, Jesszum pepi! :))
**jenő
Kérdező, ha ezt az ábrát megérted, akkor már jó vagy.
A négyszögek memória területek (változók), a 0X-szel kezdődő számok meg memóriacímek, a változók címei.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!