Tworzenie dynamicznych tablic dwuwymiarowych w C

Ostatnio było o przesyłaniu tablic do funkcji, a dziś o ich tworzeniu – niezbyt chronologicznie, przekornie:)

Tablice dynamiczne – czyli takie, gdzie rozmiar tablicy zależy od zmiennych – nie jest ustalany na sztywno podczas pisania aplikacji, lecz ustawiany dopiero gdy np. użytkownik poda, ile danych chce przechowywać w tablicy. Całość zaprezentuję za pomocą przykładów:

Tworzenie i usuwanie tablicy jednowymiarowej:


int *someDynamicArray;
int ile=3;
someDynamicArray = new int[ile];
delete [] someDynamicArray;

Tworzenie i usuwanie tablicy dwuwymiarowej:


int **dynamicArray2d = new int *[3];
for (int i = 0; i < 3; ++i )
{
  dynamicArray2d[i] = new int [2];
}

for (int i=0; i < 3; i++)
{
  delete [] dynamicArray2d[i];
}
delete [] dynamicArray2d;

Tablice wyższych wymiarów (stosowane np. dla zaimplementowania tablicy trójwymiarowych wektorów) tworzy się analogicznie jak tablice drugiego rzędu.

Zaletą tablic dynamicznych jest także możliwość zaalokowania większej ilości pamięci niż w przypadku tablicy statycznej!

Przydatny wpis? Postaw mi kawę :)

0 0 votes
Article Rating
Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments