Jazyk C - reťazce: Rozdiel medzi revíziami
(Vytvorená stránka „Kategória:Študijné materiály Kategória:Informatika {{Skripta_ZI}} Reťazce sú vlastne jednorozmerné pole znakov ukončené nulovým znakom '\0'. Null zako…“) |
|||
| Riadok 31: | Riadok 31: | ||
int main () { | int main () { | ||
| − | char slovo[5] = {'A', 'h, 'o', 'j','\0'}; | + | char slovo[5] = {'A', 'h', 'o', 'j','\0'}; |
| + | /*poprípade môžme pole inicializovať takto: | ||
| + | char slovo[5] = "Ahoj"; | ||
| + | */ | ||
| + | |||
printf("Vypisane slovo: %s\n", slovo); | printf("Vypisane slovo: %s\n", slovo); | ||
return 0; | return 0; | ||
Verzia zo dňa a času 10:17, 26. marec 2020
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 /*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