Pointeri
Dobrodošli, Gost. Molim vas prijavite se ili se registrujte.
Da li ste izgubili vaš aktivacioni e-mail?

Prijavite se sa korisničkim imenom, lozinkom i dužinom sesije

Linuxo Forumi

Stranice: [1]   Idi dole
  Štampaj  
Autor Tema: Pointeri  (Pročitano 757 puta)
0 članova i 1 posetilac pregledaju ovu temu.
Grim
Newbie
*
Van mreže Van mreže

Poruke: 29


« poslato: 14 Јун 2006, 22:09:42 »

Vec duze vreme izucavam c, ali sam do sada pointere izbegavao.Medjutim videvsi da u nekim
knjigama koje imam pisci pointere nazivaju najvaznijom stvariu  c pa tako ja  krenuo da ih ucim.Shvatio sam sve sem jedne stvari : pointer pokazuje na memorisku lokaciju neke promenjljive, a ja pitam , molim da mi neko objasni zasto je to toliko vazno.
Prijavi uredniku   Sačuvana
jboban
Hero Member
*****
Na mreži Na mreži

Pol: Muškarac
Poruke: 842



« Odgovor #1 poslato: 14 Јун 2006, 22:59:48 »

pointer pokazuje na memorisku lokaciju neke promenjljive, a ja pitam , molim da mi neko objasni zasto je to toliko vazno.
Sad baš za taj slučaj i ne toliko koliko za slučaj da pokazuje na niz takvih promenljivih, ili niz struktura, memorijski blok i sl. Generalno, pointer ti pruža mogućnost interpretiranja informacije onako kako želiš, tj. upotrebom cast operatora možeš je tretirati kao običan memorijski blok. Npr. niz struktura možeš inicijalizovati na 0 šetanjem pointera kroz petlju i upisom 0 na memorijske lokacije, umesto da to radiš komandama strcpy() za stringove, <var> = <f> za float/double i sl.
Pointere treba koristiti i kao parametre funkcija umesto prenosa po vrednosti. U C++ za ovo imaš pogodnije prenose po referenci. Itd, itd... Kad počneš da koristiš polako ćeš shvatati zašto je to dobro, ili što bi rekao čika Jova Zmaj: "Kad porasteš, kašće ti se samo..." Wink
Prijavi uredniku   Sačuvana
civan
Sr. Member
****
Van mreže Van mreže

Poruke: 350



WWW
« Odgovor #2 poslato: 15 Јун 2006, 09:15:25 »

povezane liste, binarna stabla...
Prijavi uredniku   Sačuvana
vladeck
Jr. Member
**
Van mreže Van mreže

Poruke: 55


« Odgovor #3 poslato: 15 Јун 2006, 13:34:14 »

Grim: otprilike ti nista nisu rekli. Pointeri su bitni iz jednog razloga: pokazuju na neki podatak. U svakom trenutku imas kontrolu nad svojim podacima (naravno, postoji i tamna strana). Kao sto je tebi bitno da znas moju adresu kako bi mi poslao pismo, tako je tebi bitno da znas gde su ti podaci u memorijskoj adresi Wink
Prijavi uredniku   Sačuvana
civan
Sr. Member
****
Van mreže Van mreže

Poruke: 350



WWW
« Odgovor #4 poslato: 15 Јун 2006, 17:55:27 »

Kao sto je tebi bitno da znas moju adresu kako bi mi poslao pismo, tako je tebi bitno da znas gde su ti podaci u memorijskoj adresi Wink

Sacekaj, *mi* mu nismo nista rekli!?

Ovo je isto kao da tvrdis da mu je potrebno da ZNA ip adresu od www.linuxo.org sajta da bi mu pristupio.

I obicne promenljive dozvoljavaju sve to sto si spomenuo ovde da je svrha pokazivaca.
A bez pokazivaca/referenci je nemoguce napraviti povezane liste, n-arna stabla i slicne rekurzivne strukture.
Prijavi uredniku   Sačuvana
jboban
Hero Member
*****
Na mreži Na mreži

Pol: Muškarac
Poruke: 842



« Odgovor #5 poslato: 15 Јун 2006, 22:09:10 »

Sacekaj, *mi* mu nismo nista rekli!?
Izgleda da smo prošli neshvaćeno Wink
Inače, baš bih voleo da znam ko to zna i zašto mu je to bitno "znati gde su podaci u memorijskoj adresi"?
Prijavi uredniku   Sačuvana
civan
Sr. Member
****
Van mreže Van mreže

Poruke: 350



WWW
« Odgovor #6 poslato: 26 Јун 2006, 08:08:38 »

Inače, baš bih voleo da znam ko to zna i zašto mu je to bitno "znati gde su podaci u memorijskoj adresi"?
To je jedino korisno znati pri debugovanju segmentation fault poruka u asemblerskim programima LOL
Prijavi uredniku   Sačuvana
pedjaman
Full Member
***
Van mreže Van mreže

Poruke: 225


« Odgovor #7 poslato: 26 Јун 2006, 15:26:11 »

A sem toga, biće ti jasniji stringovi. Naprimer, zašto se deklarišu sa
Kod:
char*
tj, kao pointer na niz karaktera.
Zašto naredbom dodele ne mogu da se kopiraju stringovi, tj. ovo
Kod:
str1 = str2;
neće baš iskopirati drugi string u prvi kako izgleda na prvi pogled,

i shvatićeš zašto se u radu sa stringovima i nizovima i sl, pri predavanju funkcijama predaju u stvari pointeri na njih, a ne oni. I zašto je to dobro.

Eto malog doprinosa od mene Wink
Prijavi uredniku   Sačuvana
Stranice: [1]   Idi gore
  Štampaj  
 
Prebaci se na: