Jazyk C - reťazce
Učebné texty
Reťazce sú vlastne jednorozmerné pole znakov ukončené nulovým znakom '\0'. Null zakončený reťazec teda obsahuje znaky, ktoré tvoria reťazec, za ktorým nasleduje null.
Nasledujúce deklarácia a inicializácia vytvoria reťazec pozostávajúci zo slova „Ahoj“. Každý reťazec musí byť ukončený nulovým znakom '\0', preto veľkosť poľa znakov obsahujúceho reťazec je vždy o +1 väčší ako je počet znakov v slove.
Iniciálizácia
char slovo[5] = {'A', 'h', 'o', 'j','\0'};
Ak budete postupovať podľa pravidla inicializácie poľa, môžete vyššie uvedený príkaz napísať nasledovne.
char slovo[5] = "Ahoj";
Prezentácia pamäte vyššie definovaného reťazca v C.
Index | 0 | 1 | 2 | 3 | 4 |
Premenná | A | h | o | j | \0 |
V skutočnosti neukladáte nulový znak na koniec reťazcovej konštanty. Keď inicializuje pole, kompilátor C ho automaticky umiestni '\ 0' na koniec reťazca. Pokúsme sa vypísať vyššie uvedený reťazec.
1 #include <stdio.h>
2
3 int main () {
4
5 char slovo[5] = {'A', 'h, 'o', 'j','\0'};
6 printf("Vypisane slovo: %s\n", slovo);
7 return 0;
8 }
Vystup.
Vypisane slovo: Ahoj