Тёмный

Jak fungují pointery (ukazatele)? 

Grizlik :D
Подписаться 8 тыс.
Просмотров 1,4 тыс.
50% 1

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 34   
@GrizlikD
@GrizlikD 6 месяцев назад
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
@Rift_Walker_Lombax
@Rift_Walker_Lombax 6 месяцев назад
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
@Dajen161
@Dajen161 6 месяцев назад
Natoč mrsmajor 2.0 vs windows defender
@Thund3rMan3
@Thund3rMan3 6 месяцев назад
kdyby toto video vyslo, kdyz jsem se ucil C, pochopil bych to mnohem lepe. diky za video
@Dajen161
@Dajen161 6 месяцев назад
Nechápu co říkáš grizliku ale hezky to vysvětluješ
@GrizlikD
@GrizlikD 6 месяцев назад
Njn, pointery jsou celkem složité :D
@Dajen161
@Dajen161 6 месяцев назад
No právě
@evanovotna3730
@evanovotna3730 6 месяцев назад
jsou v bachi pointry ?
@Dajen161
@Dajen161 6 месяцев назад
Nn
@evanovotna3730
@evanovotna3730 6 месяцев назад
dik
@filip.kroupa7
@filip.kroupa7 6 месяцев назад
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"
@filip.kroupa7
@filip.kroupa7 6 месяцев назад
Nakonec z toho Python vyšel zase tak, že to je v něm ještě jednodušší udělat, než v Cčku :D
@GrizlikD
@GrizlikD 6 месяцев назад
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
@demnyan
@demnyan 6 месяцев назад
нічого не зрозуміло але дуже цікаво :D
@eror0984
@eror0984 6 месяцев назад
Wtf
@int32_
@int32_ 6 месяцев назад
2:29 ve skutečnosti mají adresy na procesorech architektury amd64 použitelných jenom 48 bitů, i když jsou to 64bit procesory
@GrizlikD
@GrizlikD 6 месяцев назад
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
@stefan_hladek
@stefan_hladek 6 месяцев назад
Dekuji za dalsi pekne video. Zvetseni textu je mnohem lepsi, je to daleko lip citelne. Ja uvitam delsi video k pointeru.
@Dajen161
@Dajen161 6 месяцев назад
Ja to nechapu
@Dajen161
@Dajen161 6 месяцев назад
Null pointer pointer já to nechápu mate mě to
@sankx_SK
@sankx_SK 6 месяцев назад
super video, lenze ja som C# programator lol
@dominikvrba6210
@dominikvrba6210 6 месяцев назад
mam v tom gulas noice :D😂
@Dajen161
@Dajen161 6 месяцев назад
Taky
@lysak850
@lysak850 5 месяцев назад
č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
@GrizlikD
@GrizlikD 5 месяцев назад
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
@IceBeetle 6 месяцев назад
kolik jader taky ram davas na virtualni PC?
@GrizlikD
@GrizlikD 6 месяцев назад
Běžně 2 jádra a 4 GB RAM, konkrétně pro toto video jsem si nastavil 4 jádra, ať ta kompilace běží plynuleji :D
@IceBeetle
@IceBeetle 6 месяцев назад
@@GrizlikD ok
@IceBeetle
@IceBeetle 6 месяцев назад
@@GrizlikD a jak delas to ze se ti vse bezi aj otevira rychel?
@GrizlikD
@GrizlikD 6 месяцев назад
@@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é
@santory5788
@santory5788 6 месяцев назад
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.
@raven-vr5yz
@raven-vr5yz 6 месяцев назад
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
@GrizlikD
@GrizlikD 6 месяцев назад
@@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
@raven-vr5yz
@raven-vr5yz 6 месяцев назад
​@@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
Далее
10 užitečných klávesových zkratek pro Windows
13:28
Меня Забанили в Steam CS2 / PUBG
19:19
Просмотров 257 тыс.
Новый вид животных Supertype
00:59
Просмотров 176 тыс.
Proč se používají konzolové aplikace?
10:46
Просмотров 4,3 тыс.
Co je to scareware?
14:28
Просмотров 7 тыс.
C++ στα Ελληνικά - Maps
13:05
Просмотров 102
Co dělá proces dwm.exe? 🤔
11:00
Просмотров 9 тыс.
Jaký je rozdíl mezi třídou a strukturou?
14:59
Просмотров 1,2 тыс.
Most Useful Constructs Across Programming Languages
8:33
Sledujem hádku Astronaut vs Plochozemci
1:00:21
Просмотров 266 тыс.