- Samsung Galaxy Watch7 - kötelező kör
- One mobilszolgáltatások
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Apple iPhone 17e – mágnesek ereje
- Apple iPhone 17 - alap
- Táncolni még nem tud, de stabilan áll az Android 17 a lábán
- iPhone topik
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Fotók, videók mobillal
- Milyen hagyományos (nem okos-) telefont vegyek?
Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
borisz1994
#6064
üzenetére
Ahogy többen írták, deklarációra akkor van szükség, ha egy változót, függvényt, vagy típust előbb akarsz használni, mint ahogy definiálnád. Lokális változóknál nincs különbség, ott a deklaráció egyben helyfoglalással is jár. Főleg globális változók és körbe hivatkozások használatakor kell külön deklarálni, és defniálni. Globális változó deklarálása az extern kulcsszóval történik.Valamelyik fordítási egységben ennek definiáltnak kell lenni, a többi, rá hivatkozó TU-ban pedig extern-nel deklaráltnak kell lenni. Függény deklarációjánál extern kulcsszóra nincs szükség (bár megadható). C-ben a függvények mindig globálisak (nincs lokális fv. ellentétben néhány más programozási nyelvvel). Az előre deklarálást nem tudod elkerülni (program szöveg átrendezéssel), ha körbe hivatkozás van (pl. f fv. hívja g-t,ami hívja f-et). Ilyenkor valamelyiket mindenképp előre kell deklarálni (ezt hívják fv. prototipusnak), aminek a tényleges definícióját (a fv. kódját) csak a másik fv. definíciója után tudod megadni. Fontos eset még a struktúrák előre deklarálása. Ezt is a körbehivatkozás teszi szükségessé (pl. rekurzív adatszerkezetek), hasonlóan, ahogy fv.-ek esetén is. A struktúra definíciója hivatkozik B stuktúrára, ami szintén hivatkozik A-ra. Ekkor azonban a csak előre deklarált struktúra típus nem teljes értékű (hiszen még nem ismerjük a szerkezetét), ezért csak rá mutató pointer típus deklarálható a hivatkozó struktúrában. Az ilyen típust incomplete type-nak hívják.
Ú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!
- Intel Core i7-8700 6-Core 3.2GHz processzorok
- Samsung Galaxy S24 Ultra 12/256GB, Megkímélt, Kártyafüggetlen, Töltővel, Dobozzal, 1 Év Garanciával!
- Asrock RX 6900 XT(XH) 16GB - prémium GPUval - 3 hónap gari - dobozos
- Sapphire Radeon RX 6700 XT NITRO+ 12GB GDDR6 eladó akár beszámítással is
- PowerColor RX 6600 8GB GDDR6 FIGHTER - Új, 1 év garancia - Eladó!
- Bontatlan Moleskine Smart Writing Set Ellipse digitális e papír füzet / 12 hó jótállás
- AKCIÓ! Samsung Galaxy Tab S9+ 5G 256GB WiFi 5G tablet garanciával hibátlan működéssel
- Bomba ár! Lenovo X1 Carbon 7th - i5-8365U I 8GB I 256SSD I 14" FHD I HDMI I Cam I W11 I Garancia!
- AKCIÓ! Asus ROG Strix B450F R5 5600 32GB DDR4 512GB SSD RTX 2070 Super 8GB Zalman S2 TG TT 650W
- Apple iPhone 12 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


