Ú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.
-
#90088192
törölt tag
válasz
borisz1994 #6064 üzenetére
Hello,
Ha PIC32 is érdekel, akkor az alap hülyeségeken mar túl vagyok vele
Ú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!
- A fociról könnyedén, egy baráti társaságban
- Elektromos autók - motorok
- iPhone topik
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Sokkal drágább lett az „olcsó” Tesla, mint várták
- Futás, futópályák
- Robotporszívók
- Battlefield 6
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Gyönyörű Watch Ultra 2 (GPS + Cellular) 49MM, natural titan, garanciális 2027.11.04-ig, üzletből
- HP Probook 450 G3 notebook eladó
- Ipollo v1 mini 300 Mhs olcsón
- Lenovo ThinkPad L15 Gen 1 i5 / 16GB RAM / 256GB SSD / FHD IPS / 4G modem
- Lenovo ThinkPad E15 Gen 3 Ryzen 5 / 16GB RAM / 256GB SSD / FHD IPS / 1GB dedikált VGA
- Samsung Galaxy S23+ 256GB, Kártyafüggetlen, 1 Év Garanciával
- Új Asus F15 TUF FHD IPS 144Gz G-Sync i7-12700H 16GB 1TB SSD Nvidia RTX 4060 8GB 140W Win11 Garancia
- Dell G15 DDR5 Gamer laptop // i5 12. gen. // RTX 3050 Ti // Számla+Garancia //
- Samsung Galaxy Tab A8 32GB, Újszerű, 1 Év Garanciával
- Samsung Galaxy S22 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest