Struktury, wskazniki, tablice dynamiczne, podstawy
Ostatnio zmodyfikowano 2017-11-17 23:01
_EnrdYou Temat założony przez niniejszego użytkownika |
Struktury, wskazniki, tablice dynamiczne, podstawy » 2017-11-17 21:11:52 Witam, mógłby mi ktoś wytłumaczyć różnice pomiędzy: struktura ** tab = new struktura *[ N ]; tab[ a ] = new Structure; tab[ a ]->i = < jakas wartosc >;
a struktura * tab = new struktura[ N ]; tab[ a ].i = < jakas wartosc >
Jakoś nie mogę tego pojąć... |
|
pekfos |
» 2017-11-17 21:27:13 Pierwsze to tablica wskaźników na struktury, drugie to tablica struktur. |
|
_EnrdYou Temat założony przez niniejszego użytkownika |
» 2017-11-17 22:02:11 Okej, ale jakie są praktyczne różnice? Jakoś nie umiem sobie wyobrazić jak to wygląda ;/ Po co stosuje się ten pierwszy zapis?
W przypadku tablic dynamicznych, pierwszy przypadek utworzyłby tablice 2D(tab[][]), a drugi 1D(tab[]). Natomiast nie rozumiem jak to wygląd w przypadku struktur, bo przecież nie stosujemy tab[][], tylko tab[]->. Nie rozumiem po co stosuje się wskaźnik na wskaźnik, jeżeli i tak korzysta się tylko z jednej struktury.
W sensie, zawsze myślałem że drugi wymiar tworzy się dla takich celów:
0 - 5,4,2 1 - 2,5,1 2 - 2,1 3 - 523,132,412
W przypadku struktur nie widzę różnicy:
zapis pierwszy: 0 - struktura1 1 - struktura2 2 - struktura3 3 - struktura4
zapis drugi:
struktura1 struktura2 struktura3 struktura4
Trochę zamieszałem, ale generalnie chodzi mi o sens deklaracji wskaźnika na wskaźnik w przypadku gdy i tak tylko działamy na jednej strukturze.
zapis pierwszy miałby sens gdyby: 0 - struktura1,struktura2 1 - struktura3,struktura4 2 - struktura5,struktura6,struktura7 3 - struktura8
Z góry przepraszam za chaotyczność
|
|
pekfos |
» 2017-11-17 23:01:55 Natomiast nie rozumiem jak to wygląd w przypadku struktur, bo przecież nie stosujemy tab[][], tylko tab[]->. | tab[i]->x jest równoznaczne z tab[i][0].x w przypadku zwykłych wskaźników. Trochę zamieszałem, ale generalnie chodzi mi o sens deklaracji wskaźnika na wskaźnik w przypadku gdy i tak tylko działamy na jednej strukturze. |
Użycie wskaźnika zamiast obiektu ma sens, gdy typ jest niekompletny, lub w ogóle nieznany z góry (w programowaniu obiektowym). Ma to też sens, jeśli chcesz by niekoniecznie wszystkie te wskaźniki na coś wskazywały. |
|
« 1 » |