- Házimozi belépő szinten
- Milyen TV-t vegyek?
- Projektor topic
- Azonnali alaplapos kérdések órája
- Milyen billentyűzetet vegyek?
- Kormányok / autós szimulátorok topikja
- Meghozta az első, memórapánikból eredő áremelését az NVIDIA
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Hogy is néznek ki a gépeink?
- AMD vs. INTEL vs. NVIDIA
Új hozzászólás Aktív témák
-
kovisoft
őstag
válasz
DopeBob
#6140
üzenetére
Megpróbáltam lefordítani az eredeti kódodat, de nekem (treat warnings as errors beállítással) fordítási hibát dobott a scanf és a printf sorokra. Érthető, mivel az int (*statData)[statDay][OPEN_HOURS] egy kétdimenziós tömbre mutató pointer, nem pedig egy kétdimenziós tömb. A statData[i][j] nem egy int-et, hanem egy pointert jelent. Cast-olással kierőszakoltam, hogy leforduljon, valamint felcseréltem a statData deklarációjában a sorokat és az oszlopokat (int (*statData)[OPEN_HOURS][statDay]), és így már ez a változat is működött.
Ökölszabályként azt tartsd szem előtt, hogy amikor egy pointert deklarálsz, akkor azt tömbként is tudod használni (meg tudod indexelni [i] stílusban), tehát úgy is felfogható a dolog, hogy egy * ugyanúgy hozzáad egy dimenziót a deklarált tömbödhöz, mint egy [SIZE]. Fordítva is igaz a dolog: egy tömb utolsó dimenzióját lehagyva egy pointert kapsz.
Vagyis amikor ezt írod le: int (*statData)[OPEN_HOURS][statDay], akkor ez igazából egy 3 dimenziós tömb, aminek az első két dimenziója a fix [OPEN_HOURS] és [statDay], a harmadik dimenziója dinamikus, és ennek mérete a malloc-ban megadott értékből jön, ami jelen esetben [1] (mivel a teljes allokált méret OPEN_HOURS*statDay*1). Éppen ezért az így deklarált tömb elemeire ezen a módon kell hivatkozni: statData[i][j][0]. Kipróbáltam ezt is, és így is működik. Ezzel együtt nem javaslom ennek a formának a használatát, és nem is értem, hogy a Pluralsight miért így tanítja.
Ú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!
- Beszámítás! Apple Mac Mini M4 16GB 256GB számítógép garanciával, hibátlan működéssel
- Beszámítás! Apple Mac Mini 2020 M1 8GB 512GB számítógép garanciával, hibátlan működéssel
- Beszámítás! Asus ROG Phone 9 256GB mobiltelefon garanciával hibátlan működéssel
- Beszámítás! Dell SE2222H 22 60Hz FHD VA 8ms monitor garanciával hibátlan működéssel
- Beszámítás! Asus VZ239HE-W White 75Hz FHD IPS 5ms monitor garanciával hibátlan működéssel
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3060
- Új Lenovo Thinkbook 14 G7 WUXGA IPS Ultra7 155H 16mag 32GB 1TB SSD Intel Arc Win11 Pro Garancia
- S22 Ultra Dobozában
- Bomba ár! Lenovo ThinkPad T460s - i5-6GEN I 8GB I 192GB SSD I 14" FHD I Cam I W11 I Garancia!
- AZONNAL KÉSZLETRŐL! AMD Ryzen 7 9800X3D 64GB DDR5 RAM 2TB Gen4 SSD RTX 5090 32GB GDDR7 1200W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

