Kezdőoldal » Számítástechnika » Programozás » C++-ban mi a különbség int*t[2...

C++-ban mi a különbség int*t[20] és int (*t) [20] között?

Figyelt kérdés

2018. márc. 16. 03:43
 1/6 sharkxxx ***** válasza:
100%

int * t[20];

Olyan tömb deklarálása, amelyben 20 darab olyan mutatót tartalmaz, amelyek "int" típusú értékeket tartalmazó memóriákra mutatnak.


int (*t)[20];

Olyan mutató deklarálása, ami egy olyan tömbre mutat, amelyben 20 darab "int" típusú érték van.

2018. márc. 16. 10:44
Hasznos számodra ez a válasz?
 2/6 A kérdező kommentje:

Ez az amit sosem értettem. Állítólag egy tömb elemei a memóriában egymás mellett vannak.

Viszont ha egy int * t[20]; típusú tömb esetén azt mondom, hogy t[2] = new int[5]; akkor mi történik valójában a memóriában?

2018. márc. 16. 11:20
 3/6 sharkxxx ***** válasza:

int * t[20];

t[2] = new int[5];

/* A "new int[5]" kifejezés lefoglal egy olyan memóriaterületet, amelyre ráfér 5 darab "int" típusú érték, és visszaadja ennek a memóriaterületnek a mutatóját. Ez a mutató lesz elmentve a "t" tömb harmadik elemébe. */

2018. márc. 16. 13:22
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:
Köszi! És mostanában sokszor hallani, hogy ne használjunk new operátort. Viszont akkor mit használjunk a t[2] = new int[5]; utasítás helyett, hogy ugyanazt az eredményt érjük el (new operátor nélkül)?
2018. márc. 16. 21:29
 5/6 sharkxxx ***** válasza:

C++-ban a new operátort kell használni a dinamikus memóriafoglalásra.


Ha az adott feladathoz a dinamikusan lefoglalt memória a legideálisabb megoldás, akkor nyugodtan használj new operátort. Csak utánna ne felejtsd el felszabadítani azt a lefoglalt memóriát a delete vagy a delete[] operátorral.


Ha olyan egydimenziós vagy kétdimenziós tömböt akarsz használni amelynek mindegyik dimenziója konstans méretű, akkor ahoz felesleges a dinamikus memóriafoglalás.

2018. márc. 16. 23:35
Hasznos számodra ez a válasz?
 6/6 A kérdező kommentje:

By the way miért jó ilyet létrehozni? int(*t)[20]?

Akkor már miért nem lehet int t[20]?

2018. márc. 17. 00:04

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!