- Októberi bevetésre indul a hardveralakulat
- Továbbfejlesztette az SP szériás, kompakt tápegységeit a Lian Li
- Itt van az ASUS legfrissebb, AMD platformra épülő mini PC-je
- Jegeli pénznyelő projektjét az Apple, az okosszemüvegben látják a jövőt
- Olcsónak ígérkező, madzagos egér jelent meg az ASUS ROG-os portfóliójában
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- Azonnali VGA-s kérdések órája
- Gaming notebook topik
- Milyen alaplapot vegyek?
- Steam Deck
- Valami baja van a tápomnak
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Milyen notebookot vegyek?
- Projektor topic
- Samsung Galaxy Tab S11 és Tab S11 Ultra: minden, amit tudni érdemes
Ú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!
- Milyen légkondit a lakásba?
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- Elektromos autók - motorok
- Azonnali VGA-s kérdések órája
- Gaming notebook topik
- exHWSW - Értünk mindenhez IS
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen alaplapot vegyek?
- Yettel topik
- Jegeli pénznyelő projektjét az Apple, az okosszemüvegben látják a jövőt
- További aktív témák...
- Gamer PC - Ryzen 7 2700X, RTX 2070, 16gb RAM
- Apple iPhone 15 Pro 256GB, Kártyafüggetlen, 1 Év Garanciával
- Apple Watch Ultra GPS + Cellular 49mm, Újszerű, 1 Év Garanciával
- Samsung Galaxy S23 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- iBasso DX180 2025 DAP fekete, 1 hónapos, sok Muzix garanciával eladó
- Apple iPhone SE 2022 / 256GB / Kártyafüggetlen / 12Hó Garancia
- Lenovo Thinkpad Tablet X1 Gen 3
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA -Kártyafüggetlen, MS3598, 94% Akkumulátor
- BESZÁMÍTÁS! GIGABYTE A520M R7 3800X 32GB DDR4 512GB SSD RTX 3060Ti 8GB ZALMAN N4 Cooler Master 650W
- Bomba ár! Lenovo ThinkPad Yoga 260 - i5-G6 I 8GB I 192SSD I 12,5" FHD Touch I W10 I Cam I Gari!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest