NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 3 - Aritmetika ukazatelů v C++

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
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ď)

 
Odpovědět
7.1.2017 16:54
Avatar
Odpovídá 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.

Odpovědět
7.1.2017 18:39
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Odpovídá 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? ;-)

Odpovědět
7.1.2017 20:04
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):
Odpovědět
7.1.2017 20:30
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
Odpovídá na Libor Šimo (libcosenior)
Tomáš Pařízek:7.1.2017 20:40

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

 
Odpovědět
7.1.2017 20:40
Avatar
Tomáš Rabel:29.10.2018 17:37

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

 
Odpovědět
29.10.2018 17:37
Avatar
Odpovídá 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++.

Editováno 29.10.2018 19:03
Odpovědět
29.10.2018 19:01
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Avatar
Odpovídá na Patrik Valkovič
Tomáš Rabel:30.10.2018 15:53

Děkuji, už chápu.

 
Odpovědět
30.10.2018 15:53
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 :-)

 
Odpovědět
8.1.2019 10:48
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:-)

 
Odpovědět
8.1.2019 11:32
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 18.