Pok-12-wyk-Slajd16
Wyrażenia określające typy – typ tablicowy
Jeżeli T jest wyrażeniem określającym typ, to array(I,T ) jest wyrażeniem określającym typ tablicowy o elementach tablicy typu T indeksowany za pomocą typu I.
W większości tradycyjnych języków programowania przyjmuje się założenie, że tablice są ciągłe i jednorodne. Ciągłe – czyli zawierają wszystkie elementy od dolnego do górnego indeksu i jednorodne – wszystkie elementy są tego samego typu. Dodatkowo zakłada się, że tablice muszą być indeksowane typami całkowitymi.
Od obu podanych reguł są wyjątki. System typów języka może pozwalać na indeksowanie tablic np. liczbami rzeczywistymi (klasyczny Basic). W języku AWK elementy tablicy mogą być indeksowane liczbami i łańcuchami. Indeksy nie są przechowywane w żadnym określonym porządku i nie muszą tworzyć spójnego zakresu. Same elementy też mogą być liczbami lub łańcuchami (i mogą zmieniać typ w trakcie działania programu).
Typowe języki programowania korzystają jednak z jednego z dwóch typowych schematów konstrukcji typu tablicowego:
- paskalowego (przedstawionego w przykładzie) – definiowane są dolny i górny zakres indeksów oraz typ elementów tablicy,
- C-podobnego – dolny zakres indeksów jest ustalony na sztywno przez język (np. na 0 ze względu na proste i efektywne przełożenie na kod maszynowy), określa się tylko liczbę elementów oraz ich typ.