Kezdőoldal » Számítástechnika » Programozás » Van valami olvasmány amit...

Van valami olvasmány amit elolvashatnék, hogy jobban megértsem a pointerek működését C-ben?

Figyelt kérdés

okt. 30. 09:34
1 2 3 4
 1/37 anonim ***** válasza:
87%

Nem az olvasás fog segíteni. Egyetemen tartok C gyakorlatot, nemrég tanítottam a pointereket, hát, nem egyszerűek, ez tény.

Ami segíthet, véleményem szerint, ha leülsz, és elkezdesz velük kísérletezni. Mi működik, mi nem, hogyan oldanád meg a különböző problémákat. Egy könyv elolvasása nem fogja megértetni veled ezeket.

Informatikai téren, tapasztalatom szerint, nagyon kevés szituáció van, amikor egy könyv tud segíteni. Általában a gyakorlás, különböző kis scriptek készítése nagyobb segítség a megértéshez.

Nem mellesleg, én is szívesen segítek, ha kérdésed van, írj nyugodtan.

okt. 30. 10:00
Hasznos számodra ez a válasz?
 2/37 anonim ***** válasza:
2%

"Informatikai téren, tapasztalatom szerint, nagyon kevés szituáció van, amikor egy könyv tud segíteni. "


Én azért ezt megkontráznám.

A könyv, a tankönyv alapvető célja az, amit te elvitatsz tőle.

Vannak az olvasó/tanuló számára jól, és vannak kevésbé jól fogyasztható könyvek. A tudásunk, ismereteink legjavát könyvekből merítjük. Elég a sok doksi olvasására gondolni.


A pointerek mibenlétének - azok működésének - megértéséhez a legjobb, ha hardveres oldalról tisztázzuk a dolgokat. A pointer nem más, mint egy memóriacím.

PC-s környezetben a gond általában a pointer aritmetikával szokott lenni, vagy esetenként a címszámítással.

okt. 30. 13:15
Hasznos számodra ez a válasz?
 3/37 anonim ***** válasza:
93%
Szerintem nyugottan kérdezz az oldalon a pointerekről, nem feltétlen kell csak emiatt könyvet venni
okt. 30. 15:34
Hasznos számodra ez a válasz?
 4/37 anonim ***** válasza:
87%

Olyan változók amik memóriacímet tárolnak.


int x = 5

int* p = &x


Amikor definiálsz egy mutatót akkor a * jelölöd hogy ez egy mutató típusú változó lesz és nem pedig egy int változó


& ezzel pedig le tudod kérni hogy egy változó értéke hol tárolódik a memóriában.


Ha már van definiálva egy mutatód akkor:


Ez hibás mert p egy memóriacímet ad vissza míg x egy int et vár:

x = p


Ez jó mert p a memóriacímen levő int értéket adja vissza.

x = *p


* Dereference ooerátorként is használatos mutatókkal. Ki tudod nyerni vele azt az értéket ahová egy mutató a benne tárolt memóriacímmel hivatkozik.


Így már nem hibás mert p2 memóriacímet vár.

int* p2 = p


Az indexelő operátor is dereference hatással bír.

Szóval ha van egy tömböd(tömb maga is egy mutató):

int x = int[5]

int* p = &x[4]

Mivel x dereferálva lett az indexeléssel ezért kell a & ooerátor elé hogy a tömb utolsó elemének a címét ahol tárolódik kinyerjük majd tároljuk azt p mutatóban.


Szóval ezek:

int y = x[4] ez jó mert indexelés dereferál

int* y = x ez is jó mert x tömböt nincs ami dereferálja, y most x tömb első elemének a memóriacímét tárolja és mivel ez így van csinálhatsz egy ilyet is:

int* y2 = ++y Itt az y mutatót ugratod a tömb második elemét tároló címre majd hozzárendeled y2 hoz

okt. 30. 17:15
Hasznos számodra ez a válasz?
 5/37 anonim ***** válasza:
2%

A 4-est dobja már ki valaki.

Hányja inkább máshová a hülyeségeit.

okt. 30. 17:37
Hasznos számodra ez a válasz?
 6/37 anonim ***** válasza:
91%

5

Konkrétum, hogy mi nem jó az írásában?

okt. 30. 17:41
Hasznos számodra ez a válasz?
 7/37 anonim ***** válasza:
3%

Itt nagyon szépen le van írva minden:


[link]

okt. 30. 17:42
Hasznos számodra ez a válasz?
 8/37 anonim ***** válasza:
0%

Pl. nincs olyan, hogy "mutató tipusú változó".

Mutató (pointer) van csak, ami egy bizonyos tipusú változó címére mutat a memóriában.

okt. 30. 17:44
Hasznos számodra ez a válasz?
 9/37 anonim ***** válasza:
94%

"Pl. nincs olyan, hogy "mutató tipusú változó".


Mutató (pointer) van csak, ami egy bizonyos tipusú változó címére mutat a memóriában."


Én vagyok az a 4 es válaszoló.

Nem vagyok hivatásos programozó otthon önerőböl tanultam meg dolgokat. Az hogy valahol vérzik e amit írtam nem tudom,ha igen majd kijavíttotok.

Minden esetre csak segíteni akartam a kérdezőnek.


Valaki írta hogy nincs mutató típusú változó, de szerintem meg van mert maguk a pointerek is tárolódnak a memóriában saját memóriacímük is van. A változók pedig azok amikbe tárolunk egy értéket egy pointer típusú változóba pedig memóriacímet.

De javítsatok ki, most már én is kíváncsi vagyok.


int* p

int** pTop = &p

okt. 30. 18:09
Hasznos számodra ez a válasz?
 10/37 anonim ***** válasza:
3%
A pointerek kivétel nélkül pozitív egész számok. Sorszámok. Tipizálásukra nincs igény és nincs mód sem, ebből kifolyólag, olyan tulajdonságuk, hogy típus, nincs.
okt. 30. 18:52
Hasznos számodra ez a válasz?
1 2 3 4

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!