- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Házimozi haladó szinten
- OLED TV topic
- TCL LCD és LED TV-k
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- HiFi műszaki szemmel - sztereó hangrendszerek
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- OLED monitor topik
- Philips LCD és LED TV-k
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
Ú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!
- Órákon is elveszi a Google Asszisztens munkáját a Gemini
- Milyen okostelefont vegyek?
- Nintendo Switch
- Synology NAS
- Nők, nőügyek (18+)
- Mesterséges intelligencia topik
- PlayStation 5
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Házimozi haladó szinten
- További aktív témák...
- ASUS ROG Strix GeForce RTX 4090 BTF 24GB GDDR6X Graphics Card
- Bomba ár! MacBook Pro M1 14" 2021 - M1 Pro I 16GB I 512GB SSD I OS X Sequoia I Cam I Gari!
- Lenovo ThinkPad L16 Gen 1 - 16" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
- Apple iPhone 12 Pro Max 128GB, Akku: 84%, Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Bomba ár! MacBook Air M1 13" 2020 - M1 I 8GB I 256GB SSD I OS X Sequoia I Cam I Gari!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest