Pod reťazcom v jazyku C rozumieme 1R pole typu char, ktoré je ukončenené špeciálnym znakom - terminátorom. Z uvedeného vyplýva, že veľkosť poľa musí byť vždy o jeden znak väčšia, ako je dĺžka reťazca, ktorý v ňom chceme uchovať.
Reťazec uložený v pamäti RAM si môžeme predstaviť tak ako to je na obr. 1
Reťazec je možné inicializovať podobne ako jednorozmerné pole:
char str[] = "Hello"; // veľkosť alokovanej pamäte 5 + terminátor = 6
char str[20] = "Hello"; // veľkosť alokovanej pamäte 20 --> môžem použiť 19 znakov
char* string = "Hello";// veľkosť alokovanej pamäte 5 + terminátor = 6 ale nemožno meniť obsah „teda len na čítanie!“
obr.1 Grafická reprezentácia reťazca v pamäti RAM
char text[50]; char znak = 'a'; #include <stdio.h> scanf("%[^\n]", text); // Načítanie reťazca až po stlačenie ENTER (vrátane medzier) scanf("%s", text); // Načítanie reťazca až po stlačenie ENTER alebo po prvú medzeru printf("%s", text); // Vypísanie reťazca #include <string.h> int dlzka = strlen(text); // Dĺžka reťazca resp. počet znakov (okrem terminátora) #include <ctype.h> znak = tolower(znak); // Prevod znaku na malé písmeno znak = toupper(znak); // Prevod znaku na veľké písmeno if( isupper(znak) ) { telo príkazu if } // telo sa vykoná ak je znak veľké písmeno if( islower(znak) ) { telo príkazu if } // telo sa vykoná ak je znak malé písmeno |