Hirdetés
- Visszafogott, vékony és vezetékmentes ProArt billentyűzet jött az ASUS-tól
- Nem tiltották be a Teslát Kaliforniában, Robotaxival ünnepelt a márka
- Az ARM részvényeinek eladásában csúcsosodott ki az NVIDIA felvásárlási kísérlete
- Jobb tömörítő algoritmussal kínálja meg a DirectStorage API-t a Microsoft
- Mi történik, ha minden PCIe slot tele van?
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz
mcwizard
#4110
üzenetére
Üdv mcwizard!
A lokális változók a hívás végén nem törlődnek. A rendszer nem törli őket szándékosan. Ám a tartalmukat nem szabad figyelembe venni a blokkon belül azelőtt, hogy értéket adtunk volna neki.
Az ok rendkívül egyszerű: A lokális változók tartalmát más blokkok lokális változói felülírhatják ha használnak lokális változót illetve ha írják azokat. Így minden blokkban minden lokális változó tartalma lényegében határozatlan, memória szemét van benne. Egyszerűen azért, mert minden blokk ugyanazt a stack-et (memória területet) használja a saját lokális változói tárolására.
Ezért ha csak egyetlen egy blokkod van ami ír egy lokális változót, de a többi blokkban is létrehozol változókat amik így ugyanarra a címre kerülnek, ám azokat nem írod csak olvasod, akkor azt fogod tapasztalni hogy amikor az író blokk megváltoztatja a lokális változó értékét, akkor az a többi blokkban is megváltozik. Illetve az író blokk elején is az az érték van benne amit utoljára beleír.
Ha azonban nem "steril", hanem olyan programban vizsgálnád meg ugyanezt a jelenséget ahol különböző blokkok különböző célra intenzíven használnak különböző belső változókat a saját céljukra (a gyakorlatban minden program ilyen lényegében) akkor gyökeresen mást tapasztalnál.
Ha tehát arra hagyatkozol amit most tapasztaltál, annak vége igen nagy szívás lehet. Ezért nagyon fontos szabály, hogy egy blokkban lokális változót SOHA nem használunk fel azelőtt a blokk lefutásán belül, hogy annak értéket adtunk volna!
Új hozzászólás Aktív témák
- A fociról könnyedén, egy baráti társaságban
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Fotók, videók mobillal
- Azonnali fáradt gőzös kérdések órája
- Gumi és felni topik
- ThinkPad (NEM IdeaPad)
- E-book olvasók
- total90: SSD és HDD árak 2026-ban – most kell vásárolni, vagy várni 2028-ig?
- OLED monitor topic
- További aktív témák...
- iPhone 16 Pro 256 GB 100% akku 2,5 év GARANCIA
- Eladó HP ProLiant Microserver Gen8 16 Gb RAM Xeon E3-1265L v2
- TP-LINK TL-SG105-M2 5-Port 2.5G asztali switch - Gar.: 2028.05.09
- Patriot Viper Venom RGB 2x16GB DDR5 6000MHz CL36 - Új, bontatlan, 5 év garancia - Eladó!
- ZOTAC RTX 5070 12GB GDDR7 Twin Edge - Új, Bontatlan - Eladó!
- Használt Vrtech Baby interaktív laptop gyerekeknek német nyelven
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Lenovo ThinkPad T14s Gen 3 i5-1245U 14" FHD+ 16GB 512GB 1 év teljeskörű garancia
- iPhone 16 Pro Max 256GB 92% (1év Garancia)
- Eladó MacBook Pro 13 (2020) i7 2.3GHz / 16GB / 512GB Asztroszürke
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


