ZPrPr1 2020 - Prednáška 09

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

Prednáška sa venuje reťazcom v jazyku C. Na úvod sa zopakovala ukazovateľová aritmetika (pripočítanie celého čísla k ukazovateľu sa násobí veľkosťou typu, na ktorý ukazuje) a dynamická alokácia pomocou funkcie malloc, ktorá berie počet bajtov a vracia adresu začiatku vyhradeného bloku. Reťazec je jednorozmerné pole typu char ukončené znakom '\0', ktorý sa pri inicializácii pridá automaticky, no pri neskoršom priraďovaní sa musí vložiť ručne. Ďalej boli predstavené funkcie zo štandardnej knižnice na prácu s reťazcami (strlen, strcpy, strcat, strcmp, strchr, strstr), konverzie atoi a podobné, formátovaný vstup a výstup sprintf a sscanf a riadkové funkcie gets a puts. V praktickej ukážke sa reťazec definoval a vypisoval cez direktívu %s.

  • - Ukazovateľová aritmetika: pripočítanie čísla k ukazovateľu sa násobí veľkosťou typu (int* z adresy 20 + 1 = 24).
  • - malloc dostáva počet bajtov (napr. n * sizeof(int)) a vracia adresu začiatku vyhradeného bloku.
  • - Reťazec je pole char ukončené znakom '\0'; dĺžka reťazca je veľkosť poľa - 1.
  • - Ukončovací znak sa pridá automaticky len pri definícii s inicializáciou, inak ho treba vložiť ručne.
  • - Funkcie strlen, strcpy, strcat, strcmp, strchr a strstr pracujú s ukazovateľmi; reťazce sa neporovnávajú operátorom ==.
  • - Funkcie atoi a im podobné konvertujú reťazec na číslo; sprintf a sscanf umožňujú formátovaný výstup a vstup nad reťazcom.
  • - Reťazec sa vypisuje pomocou printf s direktívou %s a názvom premennej, nie indexom.

Zhrnutie pripravené s pomocou AI z prepisu videa.