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 5
 31/47 anonim ***** válasza:
4%

Először is:

A kezd ige felszólító módban úgy irandó, hogy: kezdd!

A pointer (mint adattartalom) pedig továbbra is a memória valamely unikális rekeszére mutató integer érték.


A pointer aritmetika megértése, befogadása elkiván egy bizonyos látásmódot, ami még nem feltétlenül van meg a hallgatók egy részében, ezért az oktatók sok esetben absztrakcionálják a pointerekkel kapcsolatos fogalmakat, így könnyítve meg a pointerekkel való műveletek megértését, befogadását. Az ELTE-s anyag (ez okból) például virtuális adattípusnak nevezi a pointereket. De ez nem változtat azon a tényen, hogy a pointerek maradnak azok, amik voltak, tételesen, az operatív memória bizonyos, dedikált címei.

nov. 10. 20:35
Hasznos számodra ez a válasz?
 32/47 anonim ***** válasza:
67%

"A pointer (mint adattartalom) pedig továbbra is a memória valamely unikális rekeszére mutató integer érték." (2024.11.10. 20:35-ös válaszod) vö:


Pointer ... "Az marad ami volt, PC esetében egy 32 vagy 64 bites unsigned int." (2024.10.30. 23:52) továbbá:


"A pointer nem más, mint egy memóriacím." (2024.10.30 13:15).


Kezdjük hátulról 10 óra és 37 perc alatt eljutottál a memória címtől egy 32 bites vagy 64 bites unsigned int-ig. Most döntsd már el te magad is, hogy memória cím, vagy egy ki tudja hánybites (mert azt nem írtad le, hogy ez mitől függ) unsigned int.


Majd az unsigned int-ből integer lett pár nap alatt. Most akkor unsigned int, integer, memória cím, vagy egy memória címre mutató integer? Vagy akkor döntsd már el Te magadban, hogy mi is az a pointer. Mert ahányszor megszólalsz róla tök más dolgokat írsz le róla.


Majd a 2024.11.10 20:35-nek az elejét és a végét vö:


"A pointer (mint adattartalom) pedig továbbra is a memória valamely unikális rekeszére mutató integer érték." <-> "pointerek maradnak azok, amik voltak, tételesen, az operatív memória bizonyos, dedikált címei."


Most mi van? Mert amit leírtál egy azon hsz-ben sem teljesen vethető össze. Szerintem a probléma, az hogy TE nem érted a pointereket egyáltalán, semmilyen szinten.


Nyilván mert a Pascal-ban nincsenek pointerek (ebben a formában, ahogy a C-ben vannak).


Akkor most szerinted mi a pointer a saját állításaid közül:


1./ integer

2./ unsigned integer (32 vagy 64 bit, de nem tudjuk mitől függ PC esetén, hogy melyik???)

3./ memória cím

4./ mint adattartalom egy unikális rekeszére mutató integer érték

5./ pointerek operatív memória dedikált címei /itt többes szám van, de a szöveghűség miatt nem alakítottam vissza egyesszámba/.


Na akkor melyik az igaz ezek közül?


És várom a többi cáfolatot az elősző hsz-re, mert írtad, hogy több szamárság is van benne. Eddig egyet találtál, de látszik, hogy TE nem érted azt, hogy mi az a pointer.

nov. 10. 20:51
Hasznos számodra ez a válasz?
 33/47 anonim ***** válasza:
59%

És még a 20:51-es hsz-hez egy kiegészítés:


Szintén Te írtad 2024.október 30-án 17:42-kor


"Itt nagyon szépen le van írva minden:" És szerepel egy link. Na ezt megnyitva az első sora a következő:


"A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza."


Ezek szerint Te magad se olvastad amit linkeltél. Mert amiket írtál totál más (nem idézem még egyszer az előző hsz-ben szerepelnek a Te állításaid a pointerekről). Ezt még tegyük hozzá és így teljesebben látható a zavar a toronyban.


És továbbra is a rekeszben a sört tároljuk...

nov. 10. 21:03
Hasznos számodra ez a válasz?
 34/47 anonim ***** válasza:
4%

""A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza."


Ezek szerint Te magad se olvastad amit linkeltél. "


33, itt megint utalnék a korábban említett absztrakcióra, valamint arra, hogy a mutatóra mint adattartalomra hivatkozni a megfelelő, nem pedig egy olyan memóriarekeszre, ami a mutató adattartalmát tárolja, mert a kettő nem ugyanaz.

Éppen az ilyenekből adódnak a félreértések.

nov. 10. 21:18
Hasznos számodra ez a válasz?
 35/47 anonim ***** válasza:
87%

Tehát az ELTE (az ország egyik legnagyobb szakirányú egyeteme) által kiadott jegyzetnél egy olyan válaszadó jobban ért a pointerekhez, akinek mindössze egy pipája van? Aha, értjük ezt a problémát, csak kár, hogy az az intézmény ahol ezt kezelték bezárt régen.


Hol látsz te a fenti rövid leírásban "memóriarekesz" szót? Mert akárhogy próbálom kiolvasni a betűket sehol nem említi a memóriarekszt, meg azt sem, hogy a mutató adattartalmát tárolja. Hol látod ezt a fenti mondatban?

nov. 10. 21:21
Hasznos számodra ez a válasz?
 36/47 anonim ***** válasza:
4%

"A memória fogalma: Azonos méretű tárolórekeszek összessége. Minden rekesznek van egy sorszáma (címe), amivel azonosítani tudjuk."


"Memória rekesz (cella): több bit együttese. Minden rekesz ugyanannyi bitből áll. Minden rekeszhez hozzá van rendelve egy szám, a rekesz címe. Egy rekeszre a címével hivatkozhatunk. A rekesz a legkisebb címezhető egység"


"Egy adott rekesz sorszámát memóriacímnek nevezzük. A memória legkisebb címezhető egysége a memóriarekesz. A memóriarekeszek száma határozza meg a memória"


Látom, nálad a "rekesz" szó alkoholtartalmú italok asszociációját jelenti.

Az is érzékelhető, hogy mentálisan terhelt vagy, de nem az én kötelességem ezen a problémádon segíteni. Fordulj szakemberhez, vagy keresd meg az elgurult gyógyszeredet.

nov. 10. 21:42
Hasznos számodra ez a válasz?
 37/47 anonim ***** válasza:
4%

Még annyit, hogy az ELTE nem "szakirányú" egyetem. Ilyen a GD, a BME vagy az Óbudai.

A méret meg pláne nem számít, ahogy az itt pontokat gyűjtögető/számlálgató verebek sem.

nov. 10. 21:44
Hasznos számodra ez a válasz?
 38/47 anonim ***** válasza:
Kérdezó: Sikerült közelebb jussál a pointerekhez?
nov. 25. 07:49
Hasznos számodra ez a válasz?
 39/47 T. Feri ***** válasza:
39%
Sokan írták (hibásan), hogy a pointer (mutató) integer érték. De ez processzor függő. 32 bites program 32 bites pointert használ, 64 bites program pedig 64 bitest. (A korábbi, vagy kisebb processzorok 24,16,8, stb bites mutatóiról vem is beszélve.) Különböző nyelvekben különböző ezek elnevezése. C#-ban int_ptr, uint_ptr, C++-ben INT_PTR, UINT_PTR, vagy egyszerően csak csillag a tipusnév után, a változónév előtt. Célszerű olyan definíciót használni, amely bármely processzor esetén lefordítható.
dec. 22. 22:26
Hasznos számodra ez a válasz?
 40/47 anonim ***** válasza:
0%

"A korábbi, vagy kisebb processzorok 24,16,8, stb bites mutatóiról vem is beszélve."


8 bites pointerek soha nem léteztek. A 8 bites processzorok is jellemzően 16 bites címterülettel bírtak. Ez 64K.

A pointerek intervalluma nem a processzor szóhosszától, hanem a proci által címezhető memória címterének méretétől függ.


Amiről te beszélsz (írsz), az a pointereken mint memóriapozíciókon eltárolt értékek tipusa. Ezt a megközelítést tárgyalja úgy néhány szakkönyv, hogy a pointer un. virtuális adattipus.

dec. 22. 22:40
Hasznos számodra ez a válasz?
1 2 3 4 5

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, 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!