Ú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!
- Samsung A56 gyári független 6/128GB dobozos
- Garanciás Apple iPad Air (2025)gen7 11" M3 Wi-Fi + Cellular (E-SIM)128GB + UAG tok,13 CIKLUS,100% ak
- Eladó OKAI Neon Lite
- T14s Gen6 14" FHD+ IPS Ryzen AI 7 PRO 350 32GB 1TB NVMe ujjlolv IR kam gar
- Lenovo Legion 5 15IRX10 - i7 14700HX - 32GB DDR5 - RTX 5050 8GB - 1TB SSD - SOK GARI -
- Apple iPad Air 2 A8X (2014) 16GB Cellular használt
- Dell Optiplex 3050 SFF,i5-6500,8GB DDR4,256GB SSD, WIN11
- REFURBISHED - HP USB-C Universal Dock G1 (DisplayLink)
- M5! KÉSZLETKISÖPRÉSI ULTRAAKCIÓ!!! SPACE BLACK MacBook Pro 14" M5!!! 10C/10G 16GB 1 TB Gar!
- LG 86QNED913PA / Mini LED / 86" - 217 cm / 4K UHD / 120Hz & 3ms / 900 Nits / HDR Dolby / HDMI 2.1
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
