TABLICE DWUWYMIAROWE



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 :

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