14 Dvojrozmerné pole 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

Prednáška predstavuje dvojrozmerné polia v jazyku C a z ich štyroch možných definícií (pole, pointer na pole, pole pointerov, pointer na pointer) sa zameriava na dve najpoužívanejšie: statické dvojrozmerné pole a dynamické pole typu pointer na pointer. Statické pole 10x10 sa napĺňa náhodnými hodnotami pomocou dvoch vnorených cyklov a vypisuje sa po riadkoch. Dynamické pole sa vytvára v dvoch krokoch: najprv malloc pre pole pointerov a potom v cykle malloc pre každý riadok. Po použití je nutné pamäť uvoľniť v opačnom poradí, teda najskôr jednotlivé riadky a potom pole pointerov. Napokon je ukázaná inicializácia poľa pri deklarácii, kde možno vynechať prvý rozmer, ale druhý musí byť zadaný, čo platí aj pri odovzdávaní poľa funkcii.

  • - Existujú štyri definície dvojrozmerných polí, najčastejšie sa používa statické pole a pointer na pointer.
  • - Dvojrozmerné pole je v pamäti reprezentované ako jednorozmerné.
  • - Statické pole sa prechádza a napĺňa dvoma vnorenými cyklami, napríklad pomocou rand() % 10.
  • - Dynamické pole: malloc pre pole pointerov (int **) a následne malloc pre každý riadok v cykle.
  • - Pamäť sa uvoľňuje free najprv pre jednotlivé riadky a potom pre pole pointerov, pričom sa pointer nastaví na NULL.
  • - Pri inicializácii zoznamom hodnôt možno vynechať prvý rozmer, ale druhý rozmer musí byť uvedený (napr. pole 2x3).
  • - Pri odovzdávaní dvojrozmerného poľa funkcii je povinný druhý rozmer.

Zhrnutie pripravené s pomocou AI z prepisu videa.