PDA

Pogledaj cijelu verziju : Pokazivači



M1M3
09-05-2008, 12:10
Može li mi itko reči što su to pokazivači i može li netko napisati neki jednostavni program u kojem će oni imati glavnu ulogu (u C++-u)? Hvala puno, cheers

Tracer
09-05-2008, 12:32
Može li mi itko reči što su to pokazivači i može li netko napisati neki jednostavni program u kojem će oni imati glavnu ulogu (u C++-u)? Hvala puno, cheers
Razumijevanje pokazivača zahtjeva da imaš vizualnu prezentaciju stvari u glavi. Naime, pokazivači su VARIJABLE, ali ne varijable koje sadrže podatke poput brojeva i slova, već podatak o nekoj lokaciji u memoriji.

npr.


#include <iostream.h>

int main()
{
int n;
int* pn;

n = 5;
pn = &n;
*pn = 10;

cout << n; // 10
return 0;
}


u ovom slučaju pn je pokazivač koji pokazuje na (sadrži lokaciju varijable) neke varijable tipa int. to znači da preko pokazivača tog tipa indirektno možeš mijenjati sadržaj memorijske lokacije neke varijable tipa int. Tako se naredbom

*pn = 10

promjenila vrijednost varijable n jer je prethodno rečeno :

pn = &n

tj. pn sadrži memorijsku lokaciju (adresu) varijable n.

Inače, pokazivači se koriste u ovakvim slučajevima za komunikaciju između funkcija, ali i kada se radi s poljima i kada ih se predaje funkcijama kao argumente. Ima puno primjena i idi polako.

M1M3
09-05-2008, 20:27
nisam očekivao ovakav dobar odgovor! hvala puno :thumbs2:

RayDX
10-05-2008, 00:05
Yap, ovdje imamo pravu malu ekipicu... Slobodno navrati još koji put =)