W tym przypadku adres może mieć postać adresu bezwzględnego, w postaci liczbowej, ale można się również posłużyć identyfikatorem uprzednio zdefiniowanej zmiennej, co w pewnym stopniu ukazuje powiązania między zmiennymi. Można też uzyskać efekt niedostępny w uniach, tzn. dodać przesunięcie do adresu zmiennej na którą nakładamy inną zmienną. Nałożenie może więc dotyczyć dowolnej części pewnej zmiennej, a nie tylko jej początku.
var s:string; {łańcuch} len:byte absolute s; {długość łańcucha} last:char absolute s; {ostatni znak łańcucha}
Typ wariantowy Również typ wariantowy ma pewne cechy analogiczne do unii. Jednak w tym przypadku różnice są istotne. Mianowicie w typie wariantowym, w przeciwieństwie do unii, cała implementacja jest ukryta przed programistą. W przypadku unii zaś programista jest zmuszony do implementowania operacji na uniach. Ponadto typ wariantowy nie narzuca ograniczeń na typ wartości, które może przyjmować zmienna wariantowa, natomiast w przypadku unii, wartości muszą być zgodne z typem jednego z pól unii. Przykładowym językiem programowania z typem wariantowym jest Visual Basic.
Kategoria:Struktury danych