Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 3. diel - Aritmetika ukazovateľov v C ++

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Tomáš Pařízek:7.1.2017 16:54

Proč jsme se dotéto doby učili psát:
cout << "text";
A teď se tu najednou objevilo printf.
(Funguje to, nemám nic proti ale proč je to čtenáři ukázáno až teď)

Avatar
Odpovedá na Tomáš Pařízek
Patrik Valkovič:7.1.2017 18:39

Zřejmě jsem na to zapoměl, když jsem ten článek přepisoval z C. Je to opraveno.

Odpovedať
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Odpovedá na Patrik Valkovič
Libor Šimo (libcosenior):7.1.2017 20:04

Myslim, ze by bolo vhodne, keby si mu vysvetlil rozdiel medzi << a printf(). Co ty na to? ;-)

Odpovedať
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Libor Šimo (libcosenior):7.1.2017 20:30

Radsej to trochu spresnim.
Medzi

string s = "fajn";
cout << s << endl;

char s[] = "fajn";
printf("%s\n", s):
Odpovedať
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovedá na Libor Šimo (libcosenior)
Tomáš Pařízek:7.1.2017 20:40

Teda nebýt Pythonu tak jsem to nikdy nepochopil. Ale díky.

Avatar
Tomáš Rabel:29.10.2018 17:37

Jsem trošku zmatený, ale snad to pochopím :-)

Avatar
Odpovedá na Tomáš Rabel
Patrik Valkovič:29.10.2018 19:01

Co ti prosím není jasné?
Jinak rozdíl mezi cout a printf: viz články na textové soubory v C a v C++.

Editované
Odpovedať
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Odpovedá na Patrik Valkovič
Tomáš Rabel:30.10.2018 15:53

Děkuji, už chápu.

Avatar
Jan Michálek:8.1.2019 10:48

Píše se zde"

Pokud bude ale např. jeden ukazatel ukazovat na začátek dynamického pole intů, jako jsme vytvářeli minule, a druhý bude ukazovat např. na pátý prvek tohoto pole, získáme odečtením ukazatelů číslo 4.

Výsledek:

"Prvek, na ktery ukazuje paty_prvek je v poli na indexu 5. "

Nemá náhodou být pátý prvek v poli na indexu 4?

Takže by to mělo být napsané takhle?

int *paty_prvek = pole + 4

Možná se pletu, teprve se učím. Jen bych to chtěl uvést na pravou míru :-)

Avatar
Jan Michálek:8.1.2019 11:32

Ještě jsem si všiml maličkosti, která mě ale dost zmátla. V odstavci Pointery a pole píšete.

S paměťovým blokem 100 intů, který jsme výše deklarovali, již dokážeme pracovat pomocí pointerové aritmetiky. Neměl by pro nás být příliš velký problém naplnit pole čísly

A zde jste napsali kod:

int *p_pozice;
for (p_pozice = data; p_pozice < data + 100; p_pozice++)
{
        *p_pozice = 0;
}

Pokud, jsem to pochopil správně tak se odkazujete na výše zadaný kod. Neměl by kod vypadat tedy takhle?

int *p_pozice;
for (p_pozice = pole; p_pozice < pole + 100; p_pozice++)
{
        *p_pozice = 0;
}

Nechci být tzv. "rypálek", ale mne osobně toto zmátlo :-) :-) , ale možná se pletu a autor článku to myslel jinak. O:-)

Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 18.