Jazyk C - reťazce

Z Kiwiki
Verzia z 11:17, 26. marec 2020, ktorú vytvoril PatrikC (diskusia | príspevky)
Skočit na navigaci Skočit na vyhledávání


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    /*poprípade môžme pole inicializovať takto:
 7    char slovo[5] = "Ahoj";
 8    */
 9 
10    printf("Vypisane slovo: %s\n", slovo);
11    return 0;
12 }

Vystup.

Vypisane slovo: Ahoj