Kezdőoldal » Számítástechnika » Programozás » C++ nyelven mit jelent a * a...

C++ nyelven mit jelent a * a változó neve előtt?

Figyelt kérdés

É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?


2014. máj. 6. 15:36
1 2
 1/11 Tengor ***** válasza:
100%

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?

2014. máj. 6. 15:42
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:
100%

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]

2014. máj. 6. 15:46
Hasznos számodra ez a válasz?
 3/11 anonim ***** válasza:
47%
0lf
2014. máj. 6. 15:49
Hasznos számodra ez a válasz?
 4/11 A kérdező kommentje:
Autodidakta módon tanulok programozni, egyes dolgok kimaradnak sajnos, köszönöm a segítséget.
2014. máj. 6. 15:51
 5/11 anonim ***** válasza:
100%
* - pointer magyarul mutató.
2014. máj. 6. 15:53
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:
100%

[link]

bme, progalap2 tárgy, c++-t tanulunk, ezekből jobban tudsz tanulni. de mivel ez progalap2, nyilván volt progalap1, ott sima c van, annak a honlapja ez ha gondolod azt is nézegetheted. [link]

2014. máj. 6. 15:55
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:

"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.

2014. máj. 6. 16:40
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:
100%

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ó).

2014. máj. 6. 16:52
Hasznos számodra ez a válasz?
 9/11 Tengor ***** válasza:
100%
#8, király! Csak hogy elrettentsük a kérdezőt: a kolléga tud írni egy olyan cetlit is, amin annak a cetlinek az elérhetősége van, amin Jenő elérhetősége van :)
2014. máj. 6. 16:58
Hasznos számodra ez a válasz?
 10/11 anonim ***** válasza:

#9, Jesszum pepi! :))

**jenő


Kérdező, ha ezt az ábrát megérted, akkor már jó vagy.

[link]

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.

2014. máj. 6. 17:19
Hasznos számodra ez a válasz?
1 2

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!