- Apple iPhone 17 Pro Max – fennsík
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Mától Huawei okosórákkal is lehet érintésmentesen fizetni
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Fotók, videók mobillal
- Milyen okostelefont vegyek?
- 200 MP-es főkamerával és dupla periszkóppal jön az Oppo Find X9 Ultra
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
Ú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!
- Hardcore café
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Forza sorozat (Horizon/Motorsport)
- Nvidia GPU-k jövője - amit tudni vélünk
- WoW avagy World of Warcraft -=MMORPG=-
- Analóg fényképezés
- Star Trek
- Sony MILC fényképezőgépcsalád
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Overwatch 2
- További aktív témák...
- Bravo 15 C7VE 15.6" FHD IPS Ryzen 7 7735HS RTX 4050 16GB 512GB NVMe magyar vbill gar
- Samsung Galaxy S25 Ultra 12/512GB Újszerű,Kártyafüggetlen,Dobozos,Tartozékaival. 1 év Garanciával!
- 9. generációs Intel Core i9-9900K processzor - garanciával
- Apple watch Series 9 45mm GPS + extrák!
- Logitech G29 + H Shifter + Playseat
- -75% Dell XPS 13 (9320) i7-1260P 16GB Ram/1TB SSD FHD+ Gari
- HIBÁTLAN iPhone 15 Pro 128GB Black Titanium-1 ÉV GARANCIA - Kártyafüggetlen, MS4660
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- 27% - MSI G255PF E2 Monitor! 1920x1080 / 1ms / 180Hz / FreeSync !
- Új! Razer Iskur - Black gamer szék!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

