Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- Geri Bátyó: Agglegénykonyha 14 – Kések, késélezés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Andras-G: Az internet veszélyei [2. rész] - Facebook Marketpalce
- MasterDeeJay: Egy nem átlagos Asus videókártya (GTX950M 2GB GDDR3)
- Luck Dragon: Asszociációs játék. :)
- Tomasz72: Újabb Jimi home ajánló
- sziku69: Szólánc.
- Elektromos rásegítésű kerékpárok
Ú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
- Debrecen és környéke adok-veszek-beszélgetek
- sziku69: Fűzzük össze a szavakat :)
- A fociról könnyedén, egy baráti társaságban
- AMD Navi Radeon™ RX 9xxx sorozat
- Apple MacBook
- Kerékpárosok, bringások ide!
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Apple iPhone 17 - alap
- exHWSW - Értünk mindenhez IS
- Robogó, kismotor
- További aktív témák...
- iPhone 15 Pro 512GB gyári független új akku!!! Hibátlan 3 hónap jótállás
- Akció! Gamer PC-Számítógép! Csere-Beszámítás! I9 13900 / RTX 3090 24GB / 32GB RAM / 1TB SSD
- Macbook Air M1 8GB 256 GB 2026.júliusig garancia
- Playstation 5 digital PS5 825 GB 2026.12 hóig garancia
- Macbok pro M2 13" hibátlan 2026.05.23.. Apple jótállás
- iKing.Hu - Samsung Galaxy S24 Ultra 120 Hz Dynamic AMOLED 2X, beépített S Pen, Galaxy AI 12/256 GB
- ÁRGARANCIA! Épített KomPhone R7 5700X 16/32/64GB RAM RX 9060 XT 16GB GAMER PC termékbeszámítással
- Akció!!! Sosemhasznált! HP OmniBook 5 Ultra 7 255U 5.2GHz 16GB 512GB 16" FHD+ Gar.: 1 év
- BESZÁMÍTÁS! Gigabyte Vision OC RTX 3080 10GB videokártya garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
