Hirdetés
- Luck Dragon: Asszociációs játék. :)
- Meggyi001: Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál... 2. rész.
- sonar: Pi-hole, a reklám blokkoló (Bevezető)
- sziku69: Szólánc.
- Brogyi: CTEK akkumulátor töltő és másolatai
- Pitterix: Gyógytorna
- droidic: Windows 11 önállóság nélküli világ: a kontroll új korszaka
- bambano: Bambanő háza tája
- sziku69: Fűzzük össze a szavakat :)
- MasterDeeJay: Olcsó használt workstation építése. (Dell T5810, 18 mag, 64Gb ram)
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
Sk8erPeter
#1412
üzenetére
"A double *ujtomb; sorban tehát deklarálunk egy pointerváltozót ujtomb néven, aminek csak később foglaljuk le a szükséges memóriát, először még csak meghatározzuk, hogy "lesz ilyen"."
Igen. Bár ha nagyon szőrözni akarnék, ahogy egyszer már tettem, a megfogalmazás nem tökéletes: magát a pointert sikeresen definiáltuk, 4 byte-ot kapott a stacken (vagy globálisan), mint egy átlagos változó. De ezt most felejtsük el egy pillanatra, mert irreleváns.
"Amikor megtudtuk az eredeti tömb számunkra szükséges elemeit megszámolva, mekkora új tömbre van szükségünk, azután lefoglaltuk neki a számára szükséges memóriát. Ezután tömbként és egyben pointerként használtuk fel a későbbiekben, rakosgattunk bele elemeket, és itt ez most kicsit zavaros számomra, hogy akkor most melyik fogalmat is használjuk, ami helytálló. Mert tömbnek foglalunk helyet, de pointertömb...
"Nem, mi csak és kizárólag pointerként használtuk, nincs külön olyan, hogy "tömbként" használni. Ez a szép a C-ben (konkrét és ironikus értelemben is), hogy ilyen egyszerű
Mint írtam korábban, a p[n] subscript operátor az ekvivalens a *(p+n) művelettel.A pointertömb egy teljesen más fogalom. Pl. int **valami; egy int pointerre mutató pointer, amivel (hasonlóan a második példakódhoz) tömbök tömbjét lehet megvalósítani. Ugyanezt lehet fix méretben is: int valami[5][2];.
"Ráadásul - bocsi az értetlenkedésért, csak vannak ilyen homályos pontok - akkor a memóriafoglalással ezek szerint nem "méretezünk", hanem nem tudom, mit csinálunk
"A memóriafoglalással memóriát foglalunk

"És még egy pluszkérdés: a main()-ben free-vel felszabadítjuk a memóriát, de ekkor nem "szabadulunk meg" egyben az adatszerkezet már korábban eltárolt értékeitől is?"
Dehogynem. Amire meghívod a free-t, az felszabadul, az értékei érvénytelenné és elérhetetlenné válnak. (Legalábbis így kell bánni vele, ha nem akarsz bugzani.)
Fontos megjegyezni, hogy egy dinamikus pointertömbnél az alstruktúrákat egyesével fel kell szabadítani, a fordító nem fogja kibogozni!
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Fájlformátumok a gyakorlatban: ProRes, H.265, AV1
- PlayStation 5
- Mikrotik routerek
- Vége egy korszaknak: PlayStatonre is jön a Halo: Campaign Evolved
- Milyen TV-t vegyek?
- Renault, Dacia topik
- Hardcore pizza és kenyér topik
- Autós topik
- Xiaomi 15T Pro - a téma nincs lezárva
- Kerékpárosok, bringások ide!
- További aktív témák...
- Zalman Z3 PLUS alsó tápos, plexi oldalú minőségi ATX ház! AkciÓÓ
- Asus F15 FX506HE 15.6" FHD IPS i5-11400H RTX 3050Ti 16GB 512GB NVMe magyar vbill gar
- Meta quest 2 128GB, KIWI akkumulátoros fejpánttal.
- Asus A15 FA507XU 15.6" FHD IPS Ryzen 9 7940HS RTX 4050 16GB 1TB NVMe magyar vbill gar
- 150 ezerrel ár alatt! bontatlan lenovo loq ! Ajándéknak tökéletes! Rtx 5050
- IKEA (HAVREHOJ) tablet tartó
- Google Pixel 10 Pro XL Moonstone Super Actua 120 Hz, Pro kamera 5 zoom 256 GB Használt,Gari
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Apple TV 4K 2.gen (A2169) 32 GB 6 hónap Garancia Beszámítás Házhozszállítás
- Lenovo ThinkPad X270 (16) - i5-7300U, 16GB, 512GB SSD, 12" FULL HD (ELKELT)
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest
"
Mint írtam korábban, a p[n] subscript operátor az ekvivalens a *(p+n) művelettel.
"
