Inną odmianą struktury stosowaną w celu optymalizacji kodu jest unia.
/* deklaracja */ struct miasto { long ludnosc; char* rzeka; miasto(long ludnosc,char *rzeka): /*konstruktor*/ ludnosc(ludnosc), rzeka(strdup(rzeka)) {}; inline char* wez_rzeke() {return rzeka}; ~miasto() {free( (void*)rzeka );} /*destruktor*/
Struktura w Matlabie % definicja Poznan.ludnosc = 550000 Poznan.rzeka = 'Warta'
Struktura w języku Fortran 90/95 ! deklaracja TYPE::miasto INTEGER(KIND=4)::ludnosc CHARACTER(20)::rzeka END TYPE miasto ! definicja TYPE(miasto)::Poznan Poznan%ludnosc = 550000 Poznan%rzeka = 'Warta' ! albo Poznan = miasto(550000,'Warta')
Struktura w Pascalu {deklaracja} TYPE miasto = RECORD ludnosc : longint; rzeka : array[1..20] of char; END; {definicja} VAR Poznan: miasto; Poznan.ludnosc := 550000; Poznan.rzeka := 'Warta';
Struktura w PL/1 W języku PL/1 deklaracja struktury zawiera wprost podany przez programistę poziom zagłębienia w hierarchii struktury w postaci liczby całkowitej umieszczonej przed nazwą pola. Struktury na poziomie 1 to niezależne od siebie obiekty programowe, natomiast każdy kolejny poziom deklaruje pola lub kolejne podstruktury zawarte w strukturze nadrzędnej.