CO trzeba umieć:
//////////////////////////////////////////////////////////////////
Tablice
dynamiczne są takie same jak
tablice statyczne,
ale
rezerwacja pamięci dla nich jest w trakcie działania programu,
a nie na samym początku, jak to się dzieje w przypadku tablic statycznych.
Deklaracja n-elementowej tablicy :
a nie na samym początku, jak to się dzieje w przypadku tablic statycznych.
Deklaracja n-elementowej tablicy :
typ_danych
*nazwa_tablicy =
(typ_danych*)malloc(n*sizeof(typ_danych));
typ_danych
– jest
to typ zmiennych przechowywanych w tablicy
*nazwa_tablicy
– gwiazdka (*), bo tablica tak naprawdę jest wskaźnikiem
(typ_danych*)
- jest to rzutowanie na typ
wskaźnikowy
malloc
– jest to instrukcja(funkcja jednoargumentowa)
z języka C, która rezerwuje miejsce o podanej wielkości w
bajtach
n
– liczba elementów
sizeof(typ_danych)
– instrukcja która zwraca
wielkość typu w bajtach, czyli pomnożenie tego przez n daje
nam rozmiar potrzebny dla tablicy
np.:
int
*tab=(int*)malloc(15*sizeof(int));
//
deklaracja tablicy 15-elementowej typu całkowitego
double
*t=(double*)malloc(n*sizeof(double));
//
deklaracja tablicy n-elementowej liczb podwójnej precyzji
Potem
możemy już z tej tablicy korzystać tak samo, jak z tablic
statycznych, czyli możemy odwoływać się do elementu tablicy np.
przez indeks.
Ale
również traktują tablicę jako wskaźnik i pamiętając, że
tablice są spójnym obszarem pamięci.
Indeks
|
0
|
1
|
2
|
3
|
4
|
5
|
zawartość
|
5
|
12
|
69
|
21
|
1
|
3
|
(tablica
t zawiera takie wartości jak wyżej)
np.:
printf(„%d”,
*t); // sama nazwa jest wskazaniem na pierwszy // element,
czyli na ekranie pojawi się 5
printf(„%d”,
*(t+2)); // na ekranie pojawi się 69 :D
printf(„%d”,
*(t+5)); // na ekranie pojawi się 3
Tak
samo możemy postąpić z tablicą statyczną !!!
Brak komentarzy:
Prześlij komentarz