Hirdetés
- Négymagos Xeon(!) CPU LGA775-ös deszkában
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- petipetya: Nagy chili topic. :)
- gban: Ingyen kellene, de tegnapra
- Magga: PLEX: multimédia az egész lakásban
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- Geri Bátyó: Agglegénykonyha különkiadás 2 – Kajás poénok
- Luck Dragon: Asszociációs játék. :)
- MasterDeeJay: Egy nem átlagos Asus videókártya (GTX950M 2GB GDDR3)
Ú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!
- Négymagos Xeon(!) CPU LGA775-ös deszkában
- Facebook és Messenger
- Az aktuális Xbox konzolokon is megfogja majd a játékos kezét a Copilot
- Elektromos autók - motorok
- Synology NAS
- Alumíniumba öltözött a Nothing Phone (4a) Pro
- AMD GPU-k jövője - amit tudni vélünk
- Revolut
- Renault, Dacia topik
- Milyen RAM-ot vegyek?
- További aktív témák...
- Lenovo ThinkPad T15 G1 laptop i7, 16GB RAM, 512GB SSD, 1 év garancia Magyar billentyűzet
- Playstation 4 VR V2 eladó!
- Dell Pro 14 PC14250 14" FHD+ IPS érintő Ultra 5 235U 16GB 256GB NVMe ujjlolv IR kam gar
- ELADÓ Radtel RT-920 (10W, CB sáv) többsávos kézi amatőr adóvevő
- PALIT RTX 5070 White OC 12GB - 36 hónap garancia
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
- 0perces DDR5 4800 vadiúj Ramaxel 2x12GB memória 1 év garancia
- Használt számítógépek/merevlemezek számlával, garanciával! Ingyen Foxpost/PostaPont!
- REFURBISHED és ÚJ - HP USB-C Dock G5 (5TW10AA) - 3x4K felbontás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
