14 Dvojrozmerné pole v jazyku C
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.
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.
nechodím na prednášky