Tablica jest ogólnie nazywana uporządkowanązestaw elementów, z których każdy ma określony (jeden i ten sam) typ. Tablice są statyczne i dynamiczne. Długość pierwszego jest ustalana na etapie programowania, tj. przed uruchomieniem programu do uruchomienia, drugi - w trakcie wykonywania.
W przypadku tablicy statycznej opis powinien być następującyokreśla się liczbę elementów, których nie można zmienić podczas działania programu (zwiększenie lub zmniejszenie). Po uruchomieniu programu, który korzysta z tablicy statycznej, pewna liczba bajtów zostaje przydzielona do pamięci w celu wykonania w celu przechowywania jego elementów. Ta ilość pamięci zostanie przypisana do programu, dopóki nie zakończy on swojej pracy. Nawet jeśli ta pamięć nie będzie używana, żaden inny kod programu nie będzie mógł uzyskać do niej dostępu.
Język programowania Pascal może działaćtylko z tablicami statycznymi. Dlatego jeśli chcesz pracować z sekwencją o zmiennej długości, możesz opisać strukturę, na przykład, stu elementów i używać na różnych etapach innej liczby elementów, nieprzekraczającej liczby 100. I to oczywiście jest nieuzasadnione.
Taki problem nie istnieje w zintegrowanymŚrodowisko programistyczne Delphi. Dynamiczna tablica pozwala nie określać liczby elementów w opisie, ale określać ją podczas wykonywania programu. Tablicę dynamiczną można opisać w sekcji Var w następujący sposób:
Var Massive: tablica liczb całkowitych
W ten sposób oznaczono strukturęidentyfikator Massive, jest liniową sekwencją liczb całkowitych o nieznanej (jeszcze!) długości. Aby ustawić rozmiar, program musi użyć procedury SetLength, na przykład SetLength (Massive, 9). Dynamiczna tablica Massive będzie miała wymiar równy 9. Teraz ustalono, że sekwencja zawiera dziewięć elementów typu całkowitego, numerowanych od zera. Te cechy ma tablica dynamiczna. Delphi ma procedurę, która zwalnia pamięć z zestawu liczb, gdy potrzeba ich przechowywania nie jest już potrzebna. To jest procedura Finalize, w naszym przypadku zostanie zastosowana w następujący sposób: Finalize (Massive).
Podobnie możesz opisywać i stosować wielowymiarowe tablice dynamiczne w Delphi. Na przykład dynamiczna konstrukcja 2D będzie opisana następująco:
Var Massive: tablica tablicy liczb całkowitych
W razie potrzeby kolumny macierzy mogą mieć różne długości. Jest to również ustawiane przez procedurę SetLength.
Zdarza się to często, zwłaszcza w dużych i złożonychprogramy, w których niektóre struktury danych są używane od czasu do czasu lub tylko na początku / końcu programu. Jednocześnie bardzo marnotrawstwem byłoby utrzymywanie miejsca w pamięci RAM „w rezerwie”. Tablica dynamiczna jest jednym ze sposobów racjonalnej dystrybucji zasobów systemu komputerowego. Chociaż ma pewne wady. Po pierwsze, numerowanie elementów od zera nie zawsze jest wygodne. Po drugie, programista musi stale rozumieć w każdym punkcie kodu programu, w jakim stanie znajduje się tablica dynamiczna. Ale jego zasługi sprawiają, że wszystkie te trudności są śmieszne. W szczególności, jeśli wymagane jest przesłanie dużych danych z podprogramu, nie można obejść się bez dynamicznej metody prezentacji.