Zadania

  1. any.h, any.c: stwórz bibliotekę, która definiuje typ any pozwalający na przechowanie wielu różnych typów:

    1. typedef struct any { /* zdefiniowane przez osobę studencką */ } any_t;, które zawiera ręcznie stworzoną vtable

    2. any_t any_from_int(int x); - funkcja tworząca wartość any z wartości liczbowej

    3. any_t any_from_str(char const* s); - funkcja tworząca wartość any z ciągu znaków

    4. any.length(any); - zwraca długość reprezentacji dziesiętnej dla liczby, długość łańcucha dla ciągu znaków

    5. any.free(any); - czyszczące zaalokowaną pamięć jeśli taka była potrzebna

    6. any.print(any); - wypisujące wartość na standardowe wyjście (wraz z znakiem nowej linii)