Textový řetězec: Porovnání verzí

Smazaný obsah Přidaný obsah
JAnDbot (diskuse | příspěvky)
m napřímení redirectu šablony (dle dat od Dannyho B.); kosmetické úpravy
přidal jsem ukázky z jazyka C a PHP.
Řá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]''