V tomto videu jsem si trochu více vyhrál s tím editováním, např. to červené zvýraznění kódu, o kterém zrovna mluvím, tak mi můžete říct, co na to říkáte :D A taky jestli by vás zajímalo to téma dynamické alokace paměti, tedy jak je možné, aby program zabral paměť až za běhu... Například aby si uživatel mohl vybrat, kolik operační paměti chce použít
Super video, moc mi to pomohlo, nějakou dobu jsem hledal způsob jak přepisovat ty proměnné funkcí z jiné funkce a nemohl jsem na to přijít, ale teď už vím jak, takže super, dík
9:54 Čau, v Pythonu bys přepsal obsah proměnné, která se nachází mimo tělo funkce, takto: def Funkce(): *global* cislo cislo = 10 cislo = 5 print("Pred: ", cislo) Funkce() print("Po: ", cislo) Je tam stěžejní to "global"
Tady bych ale argumentoval, že to už je globální proměnná (což v Cčku existuje taky), ale abych si vyloženě mohl vybrat, které funkce tu proměnnou mohou upravit a které ne, přesně jak to dělají pointery :D V C můžu napsat třeba: _int cislo = 5;_ _void Funkce() {_ _cislo = 10;_ _}_ _int main() {_ _printf("%d ", cislo);_ _Funkce();_ _printf("%d ", cislo);_ _}_ Tohle skutečně přepíše tu proměnnou _cislo,_ ale teď už by ji dokázala upravovat jakákoliv funkce, což nemusí být zrovna optimální, ale díky pointerům mohu jasně určit, která funkce upraví originální proměnnou a která k ní jen dostane přístup Ale máš pravdu, že v Pythonu to jde napsat taky :D
Aha, tak to jsem ani nevěděl, díky za doplnění :D Jako ono to dává smysl... Protože 64 bitů je na adresu paměti strašně moc, ani operační systém by nedovedl pracovat s tak velkou pamětí :D
čau, měl bych otázku. Můžu ty adresy nějakým způsobem měnit, nebo aspoň vypsat jejich hodnotu přes batch programy ? Myslím adresy jiných programů, jen bych je chtěl změnit přes batch
Batch přímý přístup k paměti nepodporuje, takže bohužel ne. K tomu je nutné použít nějaký hodně nízkoúrovňový jazyk, jako je třeba zmíněné C Stejně ale počítej s tím, že Windows nedovolí přístup na pozice v paměti, patřící jiným programům :D
@@IceBeetle Když ten virtuální počítač spustím, tak je potřeba všechno nechat načíst úplně na 100 %, takže nechám virtuální počítač běžet na pozadí a začnu natáčet až za chvíli Případně když jde o konkrétní aplikaci, tak je mnohem rychlejší, když ta aplikace už předtím běžela: Takže například otevřu Visual Studio, načtu projekt, zavřu Visual Studio a když ho potom otevřu znovu, tak už se načítá výrazně rychleji než napoprvé
Cele video perfektne, robis to dobre, pokracuj. A len drobnost. dava tu hviezdicku pred datovy typ spravne, pretoze ked to das pred premennu, tak je to vizualny bordel kde vznika vizualne identicka premenna s dereferenciou, int *pointer a *pointer , kde v jednej je adresa a v druhej hodnota, ale vizualne ich napises rovnako. Ano C/C++ je jedno kde ta hviezdicka je, ale program pise clovek a ten sa na to pozera ocami nie cez kompilator ;) A zaciatocnik budu mat z toho potom v hlave gulas.
Cauky, nevim odkud ses ucil programovat... jestli z umele intelegence nebo kouzelne skolky, ale to co rikas nedava smysl :). Je pravda, ze na umisteni asterisku nezalezi a ze to je ciste subjektivni zalezitost, ale jenom male decko by si inicializaci spletlo s dereferenci. V moment, kdy deklarujes vice pointeru, tak chces asterisk umistit pred nazev promenne. int *num1, *num2; v moment, kdybys napsal int* num1, num2; tak mas jeden pointer a jeden integer :) Nezalezi na tom, jaky ma clovek zpusob psani, nemusis psat komentar za kazdou cenu, jenom abys vypadal chytre, protoze pak to skonci takhle... prosim nepis uz dalsi hovna a radsi se jdi ucit psat kvalitni kod
@@raven-vr5yz Proč hnedka taková negetivita? Zrovna tohle je jenom otázka názoru a každý může preferovat něco jiného :D Jenom já jsem právě říkal, že podle mě by dávalo mnohem větší smysl psát tu hvězdičku hned před proměnnou, protože podle mě když ji to Visual Studio napíše hned za datový typ, tak v tom naopak mají začátečníci ještě větší guláš... Jelikož si myslí, že datový typ je *"int*",* což však ve skutečnosti není datový typ Právě z tohoto důvodu nechápu, proč to tak Visual Studio formátuje, protože doslova i kdybych ty hvězdičky ručně psal hned před název proměnné, tak Visual Studio mi to automaticky opraví a napíše tu hvězdičku hned za datový typ, ale možná by to šlo nějak přenastavit, já jsem se v nastavení Visual Studia nikdy moc nehrabal :D
@@GrizlikDMas pravdu, ze to je otazka nazoru, proto jsem to aji ve svem komentari zminil. prave proto, ze to je subjektivni, tak nechapu, proc by nekdo psal takovy nesmyslny komentar. mimo to jeste podal nepravdive informace. nemam rad, kdyz se vyjadruji lide, kteri tematu nerozumi. nekdy je lepsi drzet hubu