- iPhone topik
- Xiaomi 17 Ultra - jó az optikája
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Xiaomi 17 - még mindig tart
- Vivo X200 Pro - a kétszázát!
- Külföldi prepaid SIM-ek itthon
- Szerény teleppel érkezik a Galaxy A37/A57
- Samsung Galaxy A55 - új év, régi stratégia
- Honor 200 - kétszázért pont jó lenne
- Samsung Galaxy Watch7 - kötelező kör
Ú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!
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- iPhone topik
- Xiaomi 17 Ultra - jó az optikája
- Fujifilm X
- sziku69: Fűzzük össze a szavakat :)
- Crimson Desert
- sziku69: Szólánc.
- Miskolc és környéke adok-veszek-beszélgetek
- Melyik tápegységet vegyem?
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Dell Latitude 7320 - i7-1165G7
- Zenbook UX3404VA 14.5" 3K OLED i5-13500H 16GB 512GB NVMe magyar vbill gar
- Apple MacBook Pro 14" (2021) M1 Pro - 32GB/1TB / 91% akku - Újszerű - 12 hónap garancia
- Lenovo Thinkpad x13 (i5 10th, 8 GB, 240 SSD) AkciÓÓ!
- Corsair Vengeance RGB 64GB (2x32) DDR5 6000Mhz for AMD // Számla // Garancia//
- Infinix Hot 12 Pro / 8/128GB / Kártyafüggetlen / 12Hó Garancia
- Hp 830 G8 Core i7 1185U 16Gb Ram Intel Iris FullHD IPS Boltból számlával Garanciával
- ÚJ Magic Keyboard billentyűzetek/ USB-C - Lighning/ 27% Áfás/ Ingyenes szállítás!
- HIBÁTLAN iPhone 12 Pro 256GB Graphite-1 ÉV GARANCIA - Kártyafüggetlen, MS4518, 100% Akksi
- Apple iPhone 12 Mini 64GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

"
Mint írtam korábban, a p[n] subscript operátor az ekvivalens a *(p+n) művelettel.
"
