Új hozzászólás Aktív témák
-
kovisoft
őstag
válasz
DopeBob #6138 üzenetére
Amikor egy szimpla 1 dimenziós tömböt allokálsz, akkor azt egy szimpla pointerbe rakod bele:
int *array = malloc(sizeof(int[ARRAY_SIZE]));
És utána array[i]-vel hivatkozol az elemeire. Ha ezt ki akarjuk terjeszteni 2 dimenzióra, akkor hozzáteszünk mindkét oldalhoz +1 dimenziót, de miért tennénk +2 dimenziót a bal oldalhoz?
int (*twod_array)[COLUMNS] = malloc(sizeof(int[ROWS][COLUMNS]));
Így a twod_array egy olyan pointer, ami "COLUMNS db integerből álló tömb" típusú adatra mutat, ilyenekből allokáltunk ROWS db-ot, és twod_array[i][j]-vel hivatkozunk az elemeire. Legalábbis szerintem így kell, de bevallom, nem próbáltam ki.
Viszont mint írtam, csinálhatod azt is, hogy te számolod át a 2 dimenziós indexet 1 dimenziósra, ekkor elég egy nagy 1 dimenziós tömböt allokálni:
int *simulated_twod_array = malloc(sizeof(int)*ROWS*COLUMNS);
Aztán így hivatkozol az i. sor j. oszlopára: simulated_twod_array[i*COLUMNS+j].
Ú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!
- Google Pixel 10 256GB - Törött kijelzőüveg - szept. 30-i vásárlás
- ACER PREDATOR ORION 3000 // CORE I5 9400 // 16GB DDR4 // GEFORCE GTX1660 SUPER 6GB // SSD+HDD
- Asus rog Zephyrus g14
- Corsair VENGANCE RGB PRO DDR4 16GB ( 2x8 kit ) 3200Mhz memória eladó.
- G.Skill TridentZ DDR4 16GB (2X8GB kit) F4-3200C16D memória párban eladó
- Xiaomi 14T 512GB, Kártyafüggetlen, 1 Év Garanciával
- Azonnali készpénzes AMD CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
- Garmin Heart Rate Monitor HRM-Tri eladó (2db is van)
- ASUS TUF F15 FX506 - 15,6"FHD IPS 144Hz - i5-11400H - 32GB - 1TB - RTX 3050 Ti - Win11 - MAGYAR
- Gamer PC-Számítógép! Csere-Beszámítás! I7 6700 / Rog RX580 8GB / 32GB DDR4 / 500GB SSD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest