Dobrý den, učím se C# podle zdejšího seriálu a zasekl jsem se u třetí lekce, ty ukazatele vůbec nechápu. Byl by zde někdo ochotný je trochu po lopatě vysvětlit(jejich využití atd.)? Díky sg
Fórum › .NET
Ukazatele jednodušeji...
Jakožto začátečník se na ukazatele úplně vykašli. Můžeš je využít, pokud potřebuješ zvýšit výkon aplikace prostřednictvím "manuální" správy paměti.
Využívají se, když je postup pomocí safe kódu zbytečně zdlouhavý. Např. když chcete editovat bitmapu, tak můžete použít metody GetPixel() a SetPixel(), ale to je pomalý způsob. Můžeš však napsat unsafe kód, kde vytvoříš ukazatel na první pixel bitmapy a posouváš se inkrementací adresy na další pixely.
ukazatel je adresa... neco jako ty kdyz chces poslat postou nejakej balik nebo dopis musis vedet kam to poslat...
takze si adresu musis nejspise nekam napsat...
v pocitaci sou data poskladana pekne za sebou... pekne Byte za Bytem ... o to kde sidli promenny ktery mas normalne se ti postara prekladac... ale nekdy potrebujes v programu nacist i vic nez by bylo vhodne nejak delat pri startu ...
takze si udelas ukazatel a tim proste reknes TADY je zacatek nejakych dat...
proste staticke promenne a hlavne pole se zaberou na zacatku behu programu ...
zkus si kolik zabere program kam das char test[1024*1024*512]; :D
a ted jeste budes vetsinou pouzivat treba jen indexy od 0 do 100 ... ale jednou za delsi dobu musis vyuzit cely to pole ...
a ted proste zaberes pul giga ram a je jedno jestli delas s necim malinkym...
(nedej boze ze by ses to pokusil spustit vicekrat :D)
Zdravím, díky moc, tolik odpovědí jsem ani nečekal:). Už mi začíná pomalinku svítat, ale asi to ještě odložím, jak psal djanosik, vrátím se k tomu později. Jinak prohlížel jsem si ten článek na zive.cz, ale moc chytrý jsem z toho nebyl, spíš vůbec:), chce to ještě čas. Takže ještě jednou díky, sg
To sg : na pointery fakt chce zkusit neco naprogramovat v assembleru :D
proste jako bys mel obrovsky dlouhou radu baraku a nekam si ulozil adresu prvniho z nich... a pak se k dalsim dostaval jen pricitanim "posunuti" alias offsetu... tj jako ze chces 5tej barak v poradi *( adresa_prvni_barak + 5 ) nebo adresa_prvni_barak[5]
a nejlepsi je na tom ze kdyz to udelas treba s "autama" tak ti to bude ukazovat po celejch autech nebo celejch baracich :o)
To mephi : no ale nepochopi ze v assembleru se bez adres neobejdou :D
muzou sice pomoci db a podobnejch "funkci" zabrat nejakej kousek pameti a ta adresa se jim nahrazuje za ten nazev ale furt vsude sama adresa :D
podle me hloupost...v assembleru jsem nikdy neprogramoval a troufam si tvrdit, ze praktickou i teoretickou cast zvladam bez vetsich problemu....
to je jako by jsi tvrdil, ze pokud chces skladat pocitace, musis vedet jak jednotlive casti HW sestrojit...samozrejme, pokud umis assembler, je to vyhoda, protoze mas prehled jak to funguje "uvnitr".....
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
C++ Ukazatele — založil pointer
Moderátoři diskuze