Hirdetés
- Magga: PLEX: multimédia az egész lakásban
- petipetya: Nagy chili topic. :)
- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- Geri Bátyó: Agglegénykonyha különkiadás 2 – Kajás poénok
- Luck Dragon: Asszociációs játék. :)
- MasterDeeJay: Egy nem átlagos Asus videókártya (GTX950M 2GB GDDR3)
- Andras-G: #Kószagondolat - eMag tapasztalatok 2026-ban
- sziku69: Szólánc.
Új hozzászólás Aktív témák
-
Karma
félisten
válasz
TheProb
#4387
üzenetére
Az előző álláspontomat szem előtt tartva azért csak kifejtem egy kicsit.
Az alapprobléma az, hogy C-ben és más alacsonyabb szintű nyelveken a memóriakezelést tudatosan kell csinálni, mert nincs az ember alatt védőháló. Mindig tisztában kell lenned azzal, hogy egy adott változó, tömb, karaterlánc hol jön létre, és mikor, ki által fog megsemmisülni. Olyan meg soha nincs, hogy a semmiből memória fakad és pont azt csinálja amit szeretnél.
A mutatott kódodban a romai változódat úgy deklaráltad, hogy egy 20 karakteres tömb, ami a függvényen belül él csak, amint véget ér, felszabadul, te meg nem férhetsz hozzá többet. Ez a sorsa mindennek, ami a stacken jön létre. A befoglaló függvény végén kaputt.
Ilyen minden lokális változó függvényen belül, a függvényeknek átadott paraméterek, az egymás után láncolt függvényhívások köztes eredményei, stb.
Memóriafoglalás tekintetében még két lehetőséged van: a magyar oktatásban "dinamikus memóriának" csúfolt heap; illetve nagyon leegyszerűsítve a "globális változók", a static terület. Utóbbinak inkább ne játssz a gondolatával se.
A programodat azon a két módon lehet megjavítani, amit az előbb is írtam:
1) vagy behozod a heapkezelést és az eredményt oda mented (malloc/free);
2) vagy egy olyan függvényt írsz, mint például az snprintf: a hívó fél gondoskodik arról, hogy legyen hova tenni az eredményt. Javaslom, hogy nézd meg annak a függvénynek a leírását.Ez utóbbi azért különösen jó, mert maga a rómaira átalakító függvényednek nem kell törődnie a memóriakezeléssel egyáltalán. Nem érdekli, hogy a hívója hol foglalt memóriát (stack/heap/static), csak az átalakítással kell törődnie. Nem az ő felelőssége.
Az intes részre nem tudok válaszolni, mert nem sikerült értelmeznem a kérdést.
Ú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!
- Apple MacBook
- Eredeti játékok OFF topik
- Diablo IV
- Anglia - élmények, tapasztalatok
- Az Intel szerint mindenkit érint, illetve érinteni fog a CPU-hiány
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Google Pixel 10a – évismétlés
- Samsung Galaxy S25 - végre van kicsi!
- Egér probléma
- Napelem
- További aktív témák...
- i5 12500/ 32GB DDR4/ RX6700XT 12GB/ 500GB m.2 SSD alapú konfig/ garancia/ ingyen foxpost
- SK HYNIX PC611 1TB M.2 NVME PCI-E 3.0 - 100/100 -as - Eladó!
- SAMSUNG 980 500GB M.2 NVME PCI-E 3.0 - Új, 1 év garancia - Eladó!
- SK HYNIX PC711 1TB M.2 NVME PCI-E 3.0 - 100/100 -as - Eladó!
- Samsung Galaxy A05s 64GB, Kártyafüggetlen, 1 Év Garanciával
- 0% THM 4 havi részlet, beszámítás! Gamer PC, notebook, konzol, Apple termék, hardver KAMATMENTESEN!
- Akció!!! Sosemhasznált! HP OmniBook 5 i5-1334U 16GB 1TB 16" FHD+ Gar.: 1 év
- Jo Nesbo: LEOPÁRD (nem olvasott)
- Samsung 16GB DDR5 5600MHz M425R2GA3PB0-CWM
- Nvidia Quadro P400/ P620/ P1000/ T400/ T1000 - Low profile (LP) + RTX A2000 6/12Gb
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
