2D Arrays | Základy algoritmizácie a programovania (2024/2025)

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 dvojrozmerným poliam v jazyku C, ich deklarácii pomocou dvoch hranatých zátvoriek reprezentujúcich riadky a stĺpce a spôsobu ich uloženia v pamäti, ktoré je vždy lineárne za sebou aj napriek predstave riadkov a stĺpcov. Na praktickom príklade sedem segmentovky sa demonštruje inicializácia poľa znakov, prechádzanie poľom pomocou vnorených cyklov s indexmi y (riadok) a x (stĺpec) a vykresľovanie na obrazovku. Následne sa ukazuje alternatívny zápis poľa ako poľa reťazcov, pri ktorom sa vysvetľuje dôležitosť rezervovania miesta pre neviditeľný znak konca reťazca. Na chybnom príklade sa demonštruje, čo sa stane, keď je veľkosť stĺpcov nedostatočná a znak konca reťazca prepisuje susedné riadky, čo môže viesť až k chybe segmentation fault. Prednáška naznačuje, že nasledovať bude aj práca s trojrozmerným poľom.

  • - Deklarácia 2D poľa má dve hranaté zátvorky – prvá pre počet riadkov (voliteľná), druhá pre počet stĺpcov (povinná)
  • - D pole je v skutočnosti pole polí, veľkosť jednej položky sa počíta ako počet stĺpcov krát veľkosť typu
  • - V pamäti počítača sú všetky prvky 2D poľa uložené lineárne za sebou, nie fyzicky v riadkoch a stĺpcoch
  • - Indexovanie prebieha najprv cez riadok (y), potom cez stĺpec (x)
  • - Praktická ukážka na sedem segmentovke – vykreslenie pomocou vnorených cyklov a funkcie draw
  • - Pri inicializácii poľa reťazcami treba počítať s neviditeľným znakom konca reťazca navyše
  • - Nedostatočná veľkosť stĺpcov spôsobí prepisovanie susedných riadkov znakom konca reťazca, čo môže viesť k segmentation fault

Zhrnutie pripravené s pomocou AI z prepisu videa.