15 Reťazce v jazyku C

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Reťazec v jazyku C je pole znakov ukončené znakom '\0', ktorý označuje koniec reťazca; bez neho by reťazec pokračoval až po najbližšiu nulu v pamäti. Reťazec možno definovať staticky (pole typu char, kde je jediná možnosť priamo priradiť hodnotu pri inicializácii) alebo dynamicky cez pointer a funkciu malloc, pričom pamäť sa uvoľňuje cez free. Hodnotu do reťazca sa inak priraďuje funkciou strcpy z knižnice string.h a vypisuje sa formátom %s. Prednáška ďalej predstavuje funkcie strlen, strcmp, strstr a strchr, prístup k jednotlivým znakom ako k poľu, generovanie náhodného reťazca a nebezpečenstvo prepísania koncovej nuly alebo prekročenia rozsahu poľa, ktoré kompilátor väčšinou neošetruje.

  • - Reťazec je pole znakov ukončené znakom '\0'.
  • - Statický reťazec sa dá naplniť priamym priradením len pri definícii, inak sa používa strcpy.
  • - Dynamický reťazec sa vytvára cez pointer a malloc (v halde) a uvoľňuje sa cez free.
  • - Funkcia strlen vracia reálnu dĺžku reťazca bez koncovej nuly, nie veľkosť alokovanej pamäte.
  • - Ďalšie funkcie: strcmp na porovnanie, strstr na hľadanie podreťazca, strchr na hľadanie znaku.
  • - K znakom reťazca možno pristupovať ako k prvkom poľa, napr. vo for cykle alebo cez putchar.
  • - Prepísanie koncovej nuly alebo zápis mimo rozsahu poľa spôsobuje chyby a kompilátor to zvyčajne neošetruje.

Zhrnutie pripravené s pomocou AI z prepisu videa.