- iPhone topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Új telefont és tabletet mutatott be a Telekom
- MIUI / HyperOS topik
- Magyarországra jött az ultravékony S25 Edge
- Samsung Galaxy Watch6 Classic - tekerd!
- Samsung Galaxy A55 - új év, régi stratégia
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy A52s 5G - jó S-tehetség
- Bemutatkozott a Poco X7 és X7 Pro
Ú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!
- Parfüm topik
- Futás, futópályák
- Gyúrósok ide!
- Kínai és egyéb olcsó órák topikja
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Androidos fejegységek
- Luck Dragon: Asszociációs játék. :)
- Kerékpárosok, bringások ide!
- Hardcore pizza és kenyér topik
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- További aktív témák...
- HP ZBook Firefly 14 i7-1165G7 16GB 512GB 14" FHD magyarbill 1 év garancia
- PS 5 kontroller // Számla // Garancia //
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3139, 95% Akkumulátor
- Fujitsu LIFEBOOK E449 i5-8250U 12GB 512GB 14" FHD 1 év garancia
- GYÖNYÖRŰ iPhone 13 512GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS3077, 100% Akkumulátor
Állásajánlatok
Cég: FOTC
Város: Budapest