C - pointery

Sekcia o programovaní, programovacích jazykoch...
Používateľov profilový obrázok
Mammut
Nový používateľ
Nový používateľ
Príspevky: 27
Dátum registrácie: So 22. Nov, 2008, 12:49
Bydlisko: Poprad

C - pointery

Príspevok od používateľa Mammut »

Zdravím,

bol by prosím Vás niekto ochotný mi vysvetliť po lopate pointery v C ? Onedlho mám z toho písomku a som z toho jeleň.

Vrúcna vďaka.

Mammut
Používateľov profilový obrázok
ollo2410
Nový používateľ
Nový používateľ
Príspevky: 87
Dátum registrácie: Ut 14. Jún, 2011, 17:13
Bydlisko: Skalica

Re: C - pointery

Príspevok od používateľa ollo2410 »

FEI/FIIT ? :D :D :D
Spoiler: ukázať
HP Pavilion dv6-6110ec @ CoolerMaster Infinite: CPU: A4-3310MX 2.1GHz(2.5GHz Turbo), 1.4125 V @ 2.1GHz(2.5GHz Turbo) 1.100 V, RAM: 4GB DDR3, GPU: AMD Radeon 6480G + AMD Radeon HD6750M 1GB, HDD: Hitachi 500GB 7200ot. OS: Win 7 64-bit Professional MSDNAA MOUSE: Gigabyte M6900 @ Gembird 450x400mm
Používateľov profilový obrázok
Mammut
Nový používateľ
Nový používateľ
Príspevky: 27
Dátum registrácie: So 22. Nov, 2008, 12:49
Bydlisko: Poprad

Re: C - pointery

Príspevok od používateľa Mammut »

Muni FI ... =/
Používateľov profilový obrázok
ollo2410
Nový používateľ
Nový používateľ
Príspevky: 87
Dátum registrácie: Ut 14. Jún, 2011, 17:13
Bydlisko: Skalica

Re: C - pointery

Príspevok od používateľa ollo2410 »

studujes IT a nevies googlit? :D

http://neuron-ai.tuke.sk/~schmotze/Sp/Opalka/08.html
http://www.jazykc.ic.cz/vyuka/pointery.html
http://www.builder.cz/art/cpp/cpp_ukazatel.html !!!!!!!

..neni to nic tazke, dokonca na youtube su animovane videa v ktorych to je fajn vysvetlene :D
Spoiler: ukázať
HP Pavilion dv6-6110ec @ CoolerMaster Infinite: CPU: A4-3310MX 2.1GHz(2.5GHz Turbo), 1.4125 V @ 2.1GHz(2.5GHz Turbo) 1.100 V, RAM: 4GB DDR3, GPU: AMD Radeon 6480G + AMD Radeon HD6750M 1GB, HDD: Hitachi 500GB 7200ot. OS: Win 7 64-bit Professional MSDNAA MOUSE: Gigabyte M6900 @ Gembird 450x400mm
Používateľov profilový obrázok
Mammut
Nový používateľ
Nový používateľ
Príspevky: 27
Dátum registrácie: So 22. Nov, 2008, 12:49
Bydlisko: Poprad

Re: C - pointery

Príspevok od používateľa Mammut »

Dík, googliť viem .. prvé dve som si našiel aj sám, ale stále mi neboli nejaké veci jasné.
Tá tretia stránka mi dosť pomohla :)
Používateľov profilový obrázok
M1ch4l
VIP
VIP
Príspevky: 6679
Dátum registrácie: Št 21. Feb, 2008, 14:00
Bydlisko: Kysucký Lieskovec / Praha

Re: C - pointery

Príspevok od používateľa M1ch4l »

skus konkretne povedat, co ti neni jasne :)
Music: AKG K240 MK II / Beyerdynamic DT 770 Pro 80 Ohm @ Topping DX7 Pro
Bike: 2022 Canyon Neuron CF 8; Coffee: Chemex 6-cup
Spoiler: ukázať
CPU 7800 X3D + DeepCool AK620; MB ROG Strix B650E-E; RAM G.Skill 32GB 6000CL30; GPU 7900XT Pulse; OS SSD 980 Pro 1TB; Storage SN850X 2TB, 860 QVO 2TB; PSU ROG Strix 850W Aura; CASE Define R4 Arctic White Window; Peripherals Aorus AD27QD + DELL U2311H, Razer Huntsman V2 (red linear), Razer Basilisk V3 Pro + Razer Destructor 2, Blue Snowball
Používateľov profilový obrázok
Mammut
Nový používateľ
Nový používateľ
Príspevky: 27
Dátum registrácie: So 22. Nov, 2008, 12:49
Bydlisko: Poprad

Re: C - pointery

Príspevok od používateľa Mammut »

int i, *p_i;
i = 3;
*p_i = 4;
i = *p_i;
*p_i = i;
p_i = &i;

Tak napríklad toto. Mohol by si mi nejako lajcky vysvetliť čo vlastne robím pomocou tých príkazov ?
Používateľov profilový obrázok
M1ch4l
VIP
VIP
Príspevky: 6679
Dátum registrácie: Št 21. Feb, 2008, 14:00
Bydlisko: Kysucký Lieskovec / Praha

Re: C - pointery

Príspevok od používateľa M1ch4l »

1. riadok zadeklaroval si integerovu premennu i a pointer na integer p_i
2. do premennej i si dosadil hodnotu 3
3. na adresu, kam ukazuje p_i si dosadil 4 //avsak tato pamat ti v skutocnosti nepatri, najskor ju treba naalokovat (malloc?)
4. do premennej i si dosadil hodnotu, ktora je na adrese p_i (teda 4)
5. na adresu p_i si dosadil hodnotu i (teda 4)
6. do pointra p_i si dosadil adresu premennej i (teda p_i ukazuje na premennu i v pamati), tymto si podla mna stratil adresu toho integeru, na ktory p_i ukazoval predtym, co je chyba.

* je v prikaze pristup k hodnote, na ktoru pointer ukazuje. Teda mozes v pohode pisat *p_i = 3 ak to je pointer na integer. Ale nie je vhodne napisat p_i = 3, pretoze tymto by si ten pointer presmeroval na adresu 3, co je asi dost smrtelne pre tvoj program.
& je v prikaze ziskanie adresy premennej, tuto adresu mozes dosadzovat do pointru.
Music: AKG K240 MK II / Beyerdynamic DT 770 Pro 80 Ohm @ Topping DX7 Pro
Bike: 2022 Canyon Neuron CF 8; Coffee: Chemex 6-cup
Spoiler: ukázať
CPU 7800 X3D + DeepCool AK620; MB ROG Strix B650E-E; RAM G.Skill 32GB 6000CL30; GPU 7900XT Pulse; OS SSD 980 Pro 1TB; Storage SN850X 2TB, 860 QVO 2TB; PSU ROG Strix 850W Aura; CASE Define R4 Arctic White Window; Peripherals Aorus AD27QD + DELL U2311H, Razer Huntsman V2 (red linear), Razer Basilisk V3 Pro + Razer Destructor 2, Blue Snowball
Používateľov profilový obrázok
ollo2410
Nový používateľ
Nový používateľ
Príspevky: 87
Dátum registrácie: Ut 14. Jún, 2011, 17:13
Bydlisko: Skalica

Re: C - pointery

Príspevok od používateľa ollo2410 »

pekne vysvetlene :)
Spoiler: ukázať
HP Pavilion dv6-6110ec @ CoolerMaster Infinite: CPU: A4-3310MX 2.1GHz(2.5GHz Turbo), 1.4125 V @ 2.1GHz(2.5GHz Turbo) 1.100 V, RAM: 4GB DDR3, GPU: AMD Radeon 6480G + AMD Radeon HD6750M 1GB, HDD: Hitachi 500GB 7200ot. OS: Win 7 64-bit Professional MSDNAA MOUSE: Gigabyte M6900 @ Gembird 450x400mm
Používateľov profilový obrázok
Mammut
Nový používateľ
Nový používateľ
Príspevky: 27
Dátum registrácie: So 22. Nov, 2008, 12:49
Bydlisko: Poprad

Re: C - pointery

Príspevok od používateľa Mammut »

jj, ďakujem, myslím, že to už teraz chápem :)

Návrat na "Programovanie"