Ú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!
- 512GB WD SN5000S Gen4 x4/ új, 1év garancia/ Steam Deck ready
- Asus -TP501UAK - Visszahajtható Érintőképernyős - 15,6" -i5-7200U -8GB-128GB-SSD-512GB-HDD
- AUTOFOKUSZOS CONTAX objektívek sPRINGEr adpterrel csak SONY vázakhoz!
- 2db - EVGA NVIDIA GeForce GTX 780 Ti 3GB GDDR5
- 226 - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5060
- BESZÁMÍTÁS! ASROCK H510M i5 11400F 16GB DDR4 512GB SSD RTX 4060Ti 8GB Kolink Stronghold ADATA 600W
- Samsung Galaxy A55 5G / 8/256GB / Kártyafüggetlen / 12Hó garancia
- Új! Razer Iskur V2 - Black gamer szék!
- Keresünk Galaxy S21/S21+/S21 Ultra/S21 Fe
- ÁRGARANCIA! Épített KomPhone Ultra 7 265KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
Á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

