- Egy óra, két rendszer
- Már be is futott a Galaxy A17 5G
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy Watch7 - kötelező kör
- Fotók, videók mobillal
- MIUI / HyperOS topik
- Samsung Galaxy S24 - nos, Exynos
- Samsung Galaxy Buds3 Pro - szárat eresztettek a babok
- Vivo X200 Pro - a kétszázát!
Hirdetés
Köszönjük a sok biztatást, támogatást! Egy rövid ideig még féláron tudsz hirdetni, előfizetni!
Ú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é
- Projektor topic
- Októberben kerülnek legacy státuszba a régebbi GeForce VGA-k
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Komolyan ráállt a csúcs-GeForce-ok átalakítására Kína
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Formula-1
- Vezetékes FEJhallgatók
- Meggyi001: RTX 5060 - Az új népkártya?
- További aktív témák...
- Motorola E40 64GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felváráslás!! Xiaomi 13T, Xiaomi 13T Pro, Xiaomi 14T, Xiaomi 14T Pro
- Bomba ár! Fujitsu LifeBook U757 - i3-7GEN I 16GB I 256SSD I 15,6" FHD I HDMI I Cam I W11 I Garancia
- Microsoft Surface Pro 9 i5-1245U 16GB 256GB 1év garancia
- Dell G15 5520 i7-12700H 14magos! RTX 3060 16GB RAM 512GB SSD FHD 120Hz Gar.: 2026
Állásajánlatok
Cég: FOTC
Város: Budapest