2020 - Týždeň 2

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 začína organizačnými oznamami: blížiaci sa deadline zadania TOP C3 so zameraním na jednoduché šifry, hackathon MLH 28. – 29. marca a workshop o IoT v MicroPythone na zariadeniach ESP32. Hlavná téma nadväzuje na porovnávanie reťazcov v jazyku C. Operátor priradenia pri ukazovateľoch na reťazce nekopíruje obsah, iba adresu, takže zmena kópie mení aj originál. Pri vlastnej implementácii funkcie na kopírovanie reťazca (strcpy) je potrebné vytvoriť nový pamäťový priestor a kopírovať znak po znaku. Naivné riešenie s lokálnym poľom vo funkcii zlyhá, pretože pole žije na zásobníku a po skončení funkcie zaniká.

  • - Pri reťazcoch operátor == porovnáva adresy, nie obsah; na porovnanie treba prechádzať znaky.
  • - Priradenie ukazovateľa (dest = buffer) nevytvorí kópiu reťazca, obe premenné ukazujú na tú istú pamäť.
  • - Zmena znaku cez jeden ukazovateľ sa prejaví aj cez druhý, lebo ide o ten istý reťazec.
  • - Skutočná kópia vyžaduje nový dostatočne veľký pamäťový blok a kopírovanie znak po znaku vrátane ukončovacieho znaku.
  • - Vlastná funkcia mcopy s lokálnym poľom char buffer[30] vracia adresu zásobníka, čo je chyba.
  • - Lokálne premenné zanikajú po skončení funkcie, preto sa na vrátenie kópie musí použiť iný druh pamäte.
  • - Oznamy: deadline zadania TOP C3, hackathon MLH 28.–29. marca a workshop IoT s ESP32 v MicroPythone.

Zhrnutie pripravené s pomocou AI z prepisu videa.