Van valami olvasmány amit elolvashatnék, hogy jobban megértsem a pointerek működését C-ben?
10
Honnan tudja a fordító egy double tömbnél, hogy az adott index melyik elemet jelenti? És a ++ operátor egy pointeren, hogy mennyit is kell léptetni?
Bizonyos esetekben sehonnan. Ilyenkor kezdődnek a problémák.
A programozónak kell tudnia. Vagy legalább azt, hogy mire jó a sizeof.
12
Egy double tömbnél tudja a fordító, hogy mekkorát kell léptetni. Meg egy intnél is tudja, és ez nem feltétlen ugyanakkora.
Bizonyos eseteket írtam, de ha már:
a fordító nem a pointerből fogja megtudni, hogy hol a next tömbelem, hanem annak a változónak vagy tömbnek a tipusából, amire a pointer mutat.
Sajnos "szak"-könyvekben is előfordul, hogy azt írják, a pointer felveszi annak a változónak a tipusát, amelyre mutat, de ez oltári nagy marhaság.
A változók értékei a memóriában, kivétel nélkül bináris számokként vannak reprezentálva. A felhasználás során válik ebből a bináris sorozatból részben vagy egészben előjel, szám, karakterisztika, mantissza, char, string, stb.
A pointerből nem válik semmi. Az marad ami volt, PC esetében egy 32 vagy 64 bites unsigned int.
14
Na, akkor csak eljutottunk odáig, hogy a semmibe kötsz bele (mit hogy hívunk).
16
Veled valóban nincs miről beszélni, tekintve, hogy csak kötöszködni jársz ide. Nézd meg mit írtál az 5-ösben, ehhez képest az egyik fogalom nevébe tudtál csak belekötni. Nem érzed magad gáznak?
Amúgy tudtad, hogy lehet castolni pointer típusok között? Vagy szerinted ilyenkor egész pontosan mi castolódik?
"Amúgy tudtad, hogy lehet castolni pointer típusok között?"
lol. Nincsenek pointer tipusok.
Essen már le, hogy a pointer az egy memóriacím és semmi több.
A type cast az adott címen lévő értékre vonatkozik, nem a rá mutató pointerre.
"A pointer is defined as a derived data type that can store the address of other C variables or a memory location. We can access and manipulate the data stored in that memory location using pointers."
Csak hogy lezárjam ezt a vitát, mert nem segít a kérdezőnek. :D
Eszerint a definíció szerint a pointer egy származtatott típus. A pointer, mint tudjuk eltárolja a memóriacímet. Lehet vitatkozni, hogy a pointer maga egy típus-e vagy csak tárolja a mutatott érték típusát, de a kérdés szempontjából felesleges.
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!