150 likes | 429 Views
Pokaziva Č i. Pokaziva č i. Pokazivač (pointer) je promenljiva koja sadrži adresu neke druge promenljive. Pokazivači i nizovi su u programskom jeziku C veoma bliski, pa se iz tog razloga u ovom poglavlju opisuju zajedno.
E N D
Pokazivači Pokazivač (pointer) je promenljiva koja sadrži adresu neke druge promenljive. Pokazivači i nizovi su u programskom jeziku C veoma bliski, pa se iz tog razloga u ovom poglavlju opisuju zajedno. Prilikom programiranja pokazivači mogu biti veoma moćan alat, koji omogućava pisanje kompaktnijeg i efikasnijeg koda. Međutim, njihovo nepravilno korišćenje može ozbiljno narušiti čitljivost i funkcionalnost programa.
Pokazivači i adrese Memorijuračunaramožemoposmatratikaoniznumerisanih (adresiranih) memorijskihćelija, kojima se možepristupatipojedinačnoili u povezanimgrupama. Najmanjamemorijskajedinica (ćelija) kojoj se može pritupiti je bajt. Jedanbajtmemorije je dovoljanzačuvanjejednog char podatka, dvabajtamogučuvati short celobrojni tip podatka, a četiriuzastopnabajtamogu da formiraju long. Slično, zasmeštanje pokazivača se najčešćekoristegrupe od dveiličetiriuzastopnećelija (bajta).
Da bismodobiliadresunekepromenljive u memoriji, koristimo operator &. Takoizraz p=&c; pokazivaču p dodeljujeadresupromenljive c i tadakažemo da p „pokazujena“ c.
Primer korišćenja pokazivaca.Najčešće za pozivanje pokazivača se koristi ’’*’’. #include <stdio.h> int main () { int a = 3, *b; b = &a; scanf("%d", b); printf("%d\n", a); return 0; }
Pokazivač je varijabla koja sadrži adresu int a; int *pa; /* pokazivac na int */ pa = &a; /* uzmi adresu od a i pohrani je u pokazivac pa */
Tipovipokazivača U većini programskih jezika koji podržavaju pokazivače, pokazivači se dele na tipske i bestipske. Uz tipske pokazivače se veže informacija o tipu promjenljivih na koje će dati pokazivač moći pokazivati, odnosno čije će adrese moći čuvati. Kada deklarišemo tipski pokazivač, on do kraja svog vijeka ima isti tip. Bestipski pokazivači nemaju određen tip promjenljive na koje će moći pokazivati, te mogu pokazivati na sve promjenljive podjednako. Na uštrb toga, međutim, postoje određena ograničenja vezana za ovu vrstu pokazivača: nije dozvoljeno dereferenciranje (vidjeti poglavlje „Referenciranje i dereferenciranje“, niže) nije dozvoljena pokazivačka aritmetika u jezicima u kojima je podržana za tipske pokazivače Bestipski pokazivači se najčešće koriste u situacijama kada određena funkcija prihvata podatke promjenljivog tipa ili kada nam tip podatka nije unaprijed poznat.
Pokazivačkaaritmetika Pokazivačka aritmetika se odnosi na poseban način vršenja računskih operacija sabiranja i oduzimanja kada među operandima ima i pokazivača. Tada često ne važe uobičajena pravila pri računanju, tj. adrese koje pokazivači čuvaju neće se sabirati i oduzimati kao obični brojevi. Pokazivačka aritmetika za svrhu ima sofisticirano rukovanje pokazivačima kako bi se dobili određeni rezultati. Pomoću pokazivačke aritmetike, pokazivač se može kretati po određenim memorijskim lokacijama, mogu se mjeriti udaljenosti jedne memorijske lokacije od druge u zavisnosti od tipova pokazivača itd.
Tipovipokazivača U programskom jeziku C, pokazivači se dele na tipske i bestipske. Pored pokazivača na obične promjenljive, postoje i pokazivači na funkcije. Pokazivači na funkcije se mogu prosljeđivati drugim funkcijama kao argumenti i preko njih se mogu pozivati funkcije na koje pokazuju, što im je i primarna primena.
Primena U programskom jeziku C, najvažnije primjene pokazivača su sljedeće: prenos argumenata funkciji po referenci implementacija nizova implementacija dinamičkih struktura
Radili:MilošKirjaković (Kire)Dušan Manojlović (Dule)MilošMaksić (Maksa)
Informacije i podatci preuzeti sa sledećih sajtova: http://sr.wikipedia.org/sr/%D0%9F%D0%BE%D0%BA%D0%B0%D0%B7%D0%B8%D0%B2%D0%B0%D1%87_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B8%D1%80%D0%B0%D1%9A%D0%B5)