• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Typ danych

    Przeczytaj także...
    Typ okrojony (typ zakresowy), to typ danych zdefiniowany na bazie innego typu, w celu ograniczenia możliwych wartości typu bazowego.Typ bazowy (typ podstawowy, typ macierzysty, typ wyjściowy), to typ dostępny w danym języku programowania, z którego zostaje wyprowadzony (wykreowany) nowy
    W językach programowania system typów może być zdefiniowany jako system klasyfikacji wyrażeń w zależności od rodzajów wartości, jakie one generują. Każdej obliczonej wartości przypisywany jest pewien typ, który jednoznacznie definiuje, jakie operacje można na niej wykonać. Śledząc przepływ wartości, system typów stara się udowodnić, że w programie występuje poprawne typowanie, tzn. nie dochodzi do sytuacji, w której na wartości określonego typu próbujemy wykonać niedozwoloną operację.

    Typ – opis rodzaju, struktury i zakresu wartości, jakie może przyjmować dany literał, zmienna, stała, argument, wynik funkcji lub wartość.

    Przykładowe typy danych[ | edytuj kod]

    Przykładowe typy występujące w wielu językach programowania:

  • typ całkowity (w C, C++, Javie np. int, w Pascalu np. integer) – typ reprezentujący liczbę całkowitą z jakiegoś zakresu zależnego od języka a nawet konkretnej implementacji.
  • typ zmiennoprzecinkowy (w C, C++, Javie np. double, w Pascalu np. real) – typ reprezentujący przybliżoną wartość liczby rzeczywistej.
  • typ stałopozycyjny (w PL/1, Cobol) – typ reprezentujący liczbę wymierną o stałym mianowniku.
  • typ znakowy (w C, C++, Javie, Pascalu np. char) – typ reprezentujący pojedynczy znak (ASCII lub w nowszych implementacjach Unicode).
  • typ tekstowy (w Javie String, w C++, Pascalu np. string) – typ reprezentujący cały tekst. W C jego rolę pełni tablica znaków, na którą wskazuje wskaźnik do typu znakowego – char*, zakończona znakiem o wartości zero – '\0'.
  • typ wskaźnikowy – oznacza wskaźnik na zmienną zadanego typu.
  • typ referencyjny – odmiana wskaźnika, referencja jest różnie pojmowana w poszczególnych językach.
  • typ wyliczeniowy – typ mogący przyjmować jedną z zadanych symbolicznych wartości, np. (czerwony, zielony, niebieski).
  • typ tablicowy – ciąg zmiennych zadanego typu indeksowanych liczbą naturalną z pewnego przedziału (w większości języków programowania) lub dowolnym unikalnym kluczem który może być zarówno liczbą jak i ciągiem znaków (w PHP).
  • typ strukturalny – zespół połączonych w jedną całość zmiennych zwanych polami struktury. Do każdego pola można się odwoływać oddzielnie.
  • klasa (typ obiektowy) – odmiana struktury, w której oprócz zespołu danych dodane są także procedury działających na tych danych. Zmienna typu klasy nazywa się obiektem. Pojęcie klasy spowodowało powstanie nowego paradygmatu programowania, zwanego programowaniem obiektowym i zrewolucjonizowało sposób myślenia programisty, który od tej pory patrzy na program jako na zbiór autonomicznych obiektów.
  • typ pusty (np. void w C i C++) – występuje np. w oznaczaniu funkcji nie zwracających żadnych wartości.
  • typ logiczny (np. bool w C++) – może przyjmować wartości logiczne 1 (true, t) lub 0 (false, nil).
  • typ bitowy reprezentujący ciąg bitów, (np. '01101'B – PL/I).
  • typ zbiorowy reprezentujący zbiory elementów (np. [pon, wt, sr, czw, pt] – Pascal).
  • typ zespolony reprezentujący liczby zespolone.
  • typ etykietowy reprezentujący wartości będące etykietami instrukcji, wskazaniami instrukcji.
  • Kontrola typów[ | edytuj kod]

    Część języków programowania stosuje kontrolę typów jako sposób zabezpieczania kodu przed nieprawidłowym działaniem oraz poprawienia jego czytelności (dla języków programowania, w których nie jest konieczna jawna deklaracja typów zmiennych). Kontrola typów może mieć postać typowania dynamicznego lub typowania statycznego.

    Stała - identyfikator, któremu przypisana wartość (liczbowa, tekstowa, itp.) nie może być zwykle zmieniana podczas wykonywania programu (chyba, że stosuje on samomodyfikujący się kod). Choć wartość ta jest określana tylko raz, można się do niej odwoływać w programie wielokrotnie (w zależności od jej widoczności). Stosowanie stałej zamiast wielokrotnie tych samych wartości, wyrażeń stałych, literałów itp., nie tylko ułatwia konserwację kodu, ale i dostarcza dla niej nazwę opisową, zwiększając czytelność kodu.Podprogram (inaczej funkcja lub procedura) - termin związany z programowaniem proceduralnym. Podprogram to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu.

    Przykład kontroli typu w języku | edytuj kod]

     int* wskaznik = malloc (sizeof(int));
    

    Próba kompilacji powyższego kodu spowoduje błąd, gdyż funkcja malloc zwraca typ wskaźnikowy void*, natomiast zmienna wskaznik posiada typ int*.

    Przykład kontroli typu w języku | edytuj kod]

     function test(MojaKlasa $zmienna) {
      /* Kod funkcji */
     }
    

    Zastosowanie kontroli typu argumentu funkcji test spowoduje wystąpienie błędu w przypadku, jeśli argument $zmienna nie będzie instancją klasy MojaKlasa.

    Zobacz też[ | edytuj kod]

  • system typów
  • typ porządkowy
  • typ bazowy
  • podtyp
  • typ okrojony
  • konwersja typu
  • Zakres (programowanie), także przedział, wycinek, to zdefiniowanie w kodzie źródłowym pewnego przedziału wartości wyodrębnionego z wartości określonego typu bazowego.Typ porządkowy to typ danych w określonym języku programowania, którego zbiór wartości stanowi ograniczony i uporządkowany ciąg wartości prostych.




    Warto wiedzieć że... beta

    PHP – obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.
    Definicja intuicyjna: Ułamki liczb całkowitych o niezerowym mianowniku; liczby rzeczywiste mające skończone, bądź okresowe od pewnego miejsca rozwinięcie dziesiętne.
    Tablica w informatyce to kontener danych dostępnych, w którym poszczególne komórki dostępne są za pomocą kluczy, które najczęściej przyjmują wartości numeryczne. Rozmiar tablicy jest albo ustalony z góry (tablice statyczne), albo może się zmieniać w trakcie wykonywania programu (tablice dynamiczne).
    Podprogram (inaczej funkcja lub procedura) - termin związany z programowaniem proceduralnym. Podprogram to wydzielona część programu wykonująca jakieś operacje. Podprogramy stosuje się, aby uprościć program główny i zwiększyć czytelność kodu.
    Liczby całkowite – liczby naturalne dodatnie N + = { 1 , 2 , 3 , … } {displaystyle mathbb {N} _{+}={1,2,3,dots }} oraz liczby przeciwne do nich { − 1 , − 2 , − 3 , … } {displaystyle {-1,-2,-3,dots }} , a także liczba zero. Uogólnieniem liczb całkowitych są liczby wymierne i tym samym liczby rzeczywiste, szczególnym przypadkiem liczb całkowitych są: liczby naturalne.
    Instancja (z łac. instantia) - pojedyncze wystąpienie niezależnego bytu zgodnego z danym wzorcem. Najpopularniejszym przykładem jest instancjowanie klas w programowaniu obiektowym, czyli tworzenie obiektów (niezależnych bytów danej klasy, zajmujących określone miejsce w pamięci). Innym przykładem jest instancja danego programu, czyli wystąpienie w pamięci komputera aktualnie wykonywanej sekwencji kodu komputerowego.
    Typowanie dynamiczne to przypisywanie typów do wartości przechowywanych w zmiennych w trakcie działania programu. Przy zastosowaniu typowania dynamicznego, zmienne nie posiadają typów przypisanych statycznie, czyli przed uruchomieniem programu np. w trakcie kompilacji. W takiej sytuacji typ zmiennej wynika z wartości jaką dana zmienna przechowuje. Jest to jeden ze sposobów na zwolnienie programisty z obowiązku deklarowania typów zmiennych. Ułatwia to operacje na zmiennych, utrudnia natomiast kontrolę integralności programu. Zmienna może w różnych momentach wykonania programu przechowywać wartości różnych typów.

    Reklama

    Czas generowania strony: 0.022 sek.