Encyklopedia w Markpol

Reklama:

String to nazwa typu danych służącego do przechowywania napisów (zmiennych łańcuchowych). String z angielskiego znaczy dosłownie ciąg, sznur, więc jednym ze sposobów w jakim można mówić o tym typie to ciąg znaków. Innymi określeniami są łańcuch znaków lub po prostu łańcuch.

Realizacja

W niektórch językach programowania jak np. Pascal czy PHP łańcuchy są typem wbudowanym; w pozostałych jak C, C++, Java realizuje się je za pomocą innych struktur języka. W tradycyjnych realizacjach Pascala (np. Turbo Pascal) zmienna typu String ma stałą wielkość 256 bajtów i jest zaimplementowana jako tablica, której element o indeksie 0 przechowuje ilość znaków w tym ciągu (maksymalnie 255). W późniejszych implementacjach tego języka (np. Object Pascal w Delphi) praktycznie zniesiono ograniczenie długości ciągu, choć odwołanie się do zerowego elementu nadal zwraca ilość znaków całego łańcucha; dodano również typ w stylu C (PChar). W C łańcuchy reprezentuje się jako wskaźniki na tablice znaków zakończoną kodem \0 – z ang. null terminated string. W C++ oprócz tradycyjnych ciągów znaków w stylu C stworzono klasy do obsługi łańcuchów, np. String, AnsiString, CString – w zasadzie każde środowisko, po za standardową, ma swoją własną klasę. Przy wywoływaniu funkcji 13h przerwania 10h kart graficznych od EGA wzwyż w architekturze IBM PC i pochodnych, służącej do wyświetlania łańcucha na ekranie, podaje się wskaźnik na początek łańcucha i jego długość. Przerwania systemu MS-DOS wykorzystują wariant ASCIIZ polegający na zamianie terminatora 00h na $ (symbol dolara). Zarówno w C/C++, Pascalu jak i w WinAPI spotkać się można z wariantami łańcuchów Ansi oraz Wide, który jest wersją stosującą Unicode.

Przykłady

Przykłady operacji na łańcuchach w popularnych językach programowania (pominięto kontrolę błędów).

Pascal

var napis : String; begin napis := 'Pascal ma myślącą trzcinę'; napis := napis + ' i wysokie ciśnienie.'; writeln(napis); end;

C

char
  • napis = malloc ( sizeof(char)*1024 ); strcpy(napis, "Cela ma kota"); strcat(napis, " oraz psa."); printf("%s",napis); free(napis);

    Java

    String napis = "Jola ma kota"; napis = napis + " oraz psa."; System.out.println(napis);

    PHP

    $napis = "Pola ma kota"; $napis .= " oraz psa."; echo $napis;

    Chcesz wypromować swoją stronę w internecie?? - nie zwlekaj pozycjonowanie w Luman.biz to rozsądny wybór
    2005 Encyklopedia
    These materials are based onWikipedia and licensed under the GNU FDL
    Remortgages|Bad Credit Mortgages|Sexy Arab|Share Prices|Ringtones