Textový řetězec: Porovnání verzí
Smazaný obsah Přidaný obsah
m napřímení redirectu šablony (dle dat od Dannyho B.); kosmetické úpravy |
přidal jsem ukázky z jazyka C a PHP. značka: editace z Vizuálního editoru |
||
Řádek 12:
* délka řetězce je uložena v pomocné struktuře definující řetězec – deskriptoru řetězce (např. typ ''String'' v [[Pascal (programovací jazyk)|Pascalu]])
==Definice řetězce v programu==
V nízkoúrovňových jazycích typu C se musí každý řetězec definovat jako datový typ char. Příklad definice prázdného řetězce o délce 100 znaků:
<code>char retezec[100];</code>
Dále je možné do řetězce rovnou fyzicky dosadit jednotlivé znaky, to se dělá pomocí znaku uvozovek.
<code>char retezec[100] = "nejaky, jakkoli dlouhy retezec, bla, bla, bla, ... muze obsahovat jen znaky z ASCII tabulky";</code>
V některcýh ostatních jazycích není nutné uvádět, že se jedná o řetězec a jak je dlouhý. Stačí jednoduše zavolat proměnnou. Příklad z jazyka PHP:
<code><?php</code>
<code>$retezec = "já jsem nějaký řetězec a můžu obsahovat všemožné znaky, dokonce i ty, které nejsou v ASCII tabulce, ale jen v UNICODE. Můžu mít libovolnou velikost a jsem reprezentován dynamicky, podle velikosti paměti.";</code>
<code>?></code>
==Volání řetězce v programu==
V nízkoúrovňových jazycích se řetězec volá po jednotlivých znacích a je zakončen znakem '\0' (podle něj se řídí program a ukončí cyklus čtení), v aplikovaných jazycích (na př. PHP) lze volat jen jako dynamická proměnná.
Tento zápis v jazyce C vypíše nultý znak (počítače číslují od nuly):
<code>cout << retezec[0]; //vypise retezec</code>
Celý řetězec lze přečíst jen v aplikovaných jazycích, na př. v PHP:
<code><?php</code>
<code>echo $retezec; //vypise retezec</code>
<code>?></code>
== Operace s textovým řetězcem ==
* získání znaku z ''i''-té pozice textového řetězce: ''s[i]''
|