Pointery – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Pointery – C / C++ – Fórum – Programujte.comPointery – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
28. 4. 2010   #1
-
0
-

ahoj pořád nemohu pochopit dostatečně pointery...

dpole[i] = prvni->hodn;

já si toto představuji tak že na určitý index pole se uloží, ale co? na co prvni ukazuje, ale to je co??...

je tu někdo ochotný, kdo by mi tu mohl udělat jednoduchou terminologii... co je před šipkou za šipkou co se kam porovnává...

prvni = prvni->dalsi;

protože například toto už nechápu vůbec,

děkuji mnohokráááát =*

Nahlásit jako SPAM
IP: 83.240.104.–
Reklama
Reklama
liborb
~ Redaktor
+18
Guru
28. 4. 2010   #2
-
0
-

Vypadá to na spojitý seznam ... takže ti to zkusím vysvětlit na umělém příkladu.

Představ si, že máš doma "poschovávané" věci. Vypadá to tak, že po bytě/domě máš skříňky, kde jsou uložené nějaké věci a jediné, co víš, je umístění první skříňky (na papírku máš uloženou adresu - pointer (prvni) - na první skříňku ... třeba "za komodou v ložnici"). Je tam uložená nějaká věc (v tvém případě je to hodn). K té hodnotě se dostaneš tak, že dojdeš na adresu a přístoupíš k hodnotě (prvni->hodn).

Každý taková skříňka obsahuje lísteček s adresou (pointerem) na další takovou skříňku (dalsi). Když se chceš dostat na další skříňku, tak si musíš "opsat adresu" té další skříňky na svůj papírek (prvni = prvni->dalsi). Tím se dostaneš na další skříňku v pořadí. Kde je zase uložená nějaká věc (hodn) a papírek (pointer) s umístěním další takové skříňky (dalsi).

Jsou dvě věci, které se u takového seznamu musí dodržet. Musíš mít někde stále uloženou adresu (pointer) na úplně první skříňku, protože když ten papírek zahodíš, tak už ji nenajdeš. A druhá věc je ta, že v poslední skříňce musí být papírek prázdný (NULL), aby se tím označilo, že je to poslední skříňka.

Kód dpole[i] = prvni->hodn; tedy znamená, že si do pole dpole na index i ukládá hodnotu ze skříňky, na kterou ukazuje adresa (pointer) uložená v prvni.

a ten druhý (prvni = prvni->dalsi;) znamená, že si opisuješ na papírek (prvni) adresu další skříňy v pořadí nebo-li se posunuješ v tom seznamu na další položku (skříňku).

Nahlásit jako SPAM
IP: 85.207.166.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 81 hostů

Podobná vlákna

C++ pointery — založil jane32

Pointery v C — založil chef06

2D pole a pointery — založil Maty

Problém s pointery — založil oxidián

Problém s pointery c# — založil Kalgys

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý