- Samsung Galaxy Z Fold3 5G - foldi evolúció
- Android alkalmazások - szoftver kibeszélő topik
- Samsung Galaxy A52s 5G - jó S-tehetség
- Milyen okostelefont vegyek?
- Nokia N8 - vajon elég lesz-e?
- Poco F6 5G - Turbó Rudi
- OnePlus 15R - régen minden jobb volt
- Újabb hét, újabb Galaxy S26 képek
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Telekom mobilszolgáltatások
Ú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!
- Samsung Galaxy Z Fold3 5G - foldi evolúció
- PlayStation 5
- Knights of honor
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- exHWSW - Értünk mindenhez IS
- Android alkalmazások - szoftver kibeszélő topik
- Wuthering Waves
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Soundbar, soundplate, hangprojektor
- Autós topik
- További aktív témák...
- Eredeti Microsoft Windows 10 / 11 Pro OEM licenc Akciós áron! 64/32 bit Azonnali kézbesítéssel
- BESZÁMÍTÁS! Intel Core Ultra 5 235 14 mag 14 szál processzor garanciával hibátlan működéssel
- BESZÁMÍTÁS! GIGABYTE H610M i5 12400 16GB DDR4 512GB SSD RTX 5060Ti 16GB Zalman Z1 PLUS Corsair 650W
- Samsung Galaxy A35 5G / 8/256GB / Kártyafüggetlen / 12Hó Garancia
- Honor Magic V5 512GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


