Encyklopedia w MarkpolReklama: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. RealizacjaW 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ładyPrzykłady operacji na łańcuchach w popularnych językach programowania (pominięto kontrolę błędów). var napis : String;
begin
napis := 'Pascal ma myślącą trzcinę';
napis := napis + ' i wysokie ciśnienie.';
writeln(napis);
end;
|
|