Ú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!
- Asztali PC , R7 8700F , RX 6800 16GB , 32GB DDR5 , 1TB NVME
- Motorola Edge 40 5G 8/256GB kártyafüggetlen okostelefon, Jet Black
- P16s Gen1 16" FHD+ IPS i7-1260P T550 16GB 512GB NVMe ujjlolva IR kam gar
- T14s Gen5 14" FHD+ IPS Ultra 7 155U 32GB 512GB NVMe ujjlolv IR kam gar
- T15g Gen2i 15.6" 4K IPS i9-11950H RTX 3080 32GB 512GB NVMe ujjlolv IR kam gar
- AKCIÓ! Inno3D iChill X3 RTX 3080 Ti 12GB videokártya garanciával hibátlan működéssel
- 27% - MOMODS 15.6" 1080P FHD IPS FreeSync Portable Hordozható monitor!
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- iPhone 17 White 256 GB - Bontatlan !! www.stylebolt.hu - Apple eszközök és tartozékok - Számlás
- Apple iPhone 17 Pro 256GB Deep Blue Újszerű állapot 100% akku (51 ciklus)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
