ZPrPr1 2020 - Prednáška 08

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 nadväzuje na predchádzajúce stretnutie a opakuje základné vlastnosti polí a ukazovateľov v jazyku C – veľkosť polí, ich odovzdávanie do funkcií prostredníctvom adresy a prácu s pamäťovými miestami. Následne sa venuje praktickému príkladu, v ktorom sa lokálne premenné funkcie main odovzdávajú do funkcie súčet pomocou ukazovateľov, keďže cieľová funkcia nemá priamy prístup k lokálnym premenným inej funkcie. Na príklade sa vysvetľuje rozdiel medzi operátorom & (získanie adresy premennej) a operátorom * (prístup k hodnote na danej adrese), vrátane dvojitého významu hviezdičky – pri deklarácii ukazovateľa a pri dereferenčnom prístupe. Prednáška postupne demonštruje, ako sa cez ukazovatele dá zapísať výsledok súčtu priamo do pôvodnej premennej volajúcej funkcie.

  • - Opakovanie základov práce s poľami: veľkosť, odovzdávanie adresou, hranice poľa
  • - Ukazovateľ je premenná obsahujúca adresu inej premennej, funkcie alebo štruktúry
  • - Funkcia nevidí lokálne premenné inej funkcie, preto sa používajú ukazovatele na sprístupnenie a zápis hodnôt
  • - Operátor & vracia adresu premennej, operátor * dereferencuje adresu a vracia/zapíše hodnotu
  • - Hviezdička má dva významy: pri deklarácii označuje typ ukazovateľ, inde slúži ako dereferenčný operátor
  • - Demonštrácia na príklade funkcie súčet, ktorá cez ukazovatele zapíše výsledok priamo do premennej vo funkcii main
  • - Zdôraznený rozdiel medzi odovzdávaním hodnoty a odovzdávaním adresy ako parametra funkcie

Zhrnutie pripravené s pomocou AI z prepisu videa.