/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Spørgsmål ang. Pointers
Fra : JS


Dato : 20-11-04 22:53

Jeg prøver at forstå anvendelse af pointers.

hvis nu:

int x = 1, y = 2;
int *ip;

ip = &x;
y = *ip; (y er nu ligmed 1)

kan man så ikke konkludere at idet ip = &x som er ligmed 1, så må *ip være
ligemed 1?

altså mere kortfattet, kan man på baggrund af ovenstående slutte:

*ip = 1

--
Mvh
Johs



 
 
Bertel Brander (20-11-2004)
Kommentar
Fra : Bertel Brander


Dato : 20-11-04 23:42

JS wrote:
> Jeg prøver at forstå anvendelse af pointers.
>
> hvis nu:
>
> int x = 1, y = 2;
> int *ip;
>
> ip = &x;
> y = *ip; (y er nu ligmed 1)
>
> kan man så ikke konkludere at idet ip = &x som er ligmed 1, så må *ip være
> ligemed 1?
>
> altså mere kortfattet, kan man på baggrund af ovenstående slutte:
>
> *ip = 1

Jo, hvis ip peger på x (som er 1) vil *ip være 1.

--
"I learned more from a three minute record
than I ever learned in school"
- Bruce Springsteen

JS (20-11-2004)
Kommentar
Fra : JS


Dato : 20-11-04 23:58



--
Mvh
Johs
"Bertel Brander" <bertel@post4.tele.dk> skrev i en meddelelse
news:419fc81b$0$201$edfadb0f@dread11.news.tele.dk...
> JS wrote:
> > Jeg prøver at forstå anvendelse af pointers.
> >
> > hvis nu:
> >
> > int x = 1, y = 2;
> > int *ip;
> >
> > ip = &x;
> > y = *ip; (y er nu ligmed 1)
> >
> > kan man så ikke konkludere at idet ip = &x som er ligmed 1, så må *ip
være
> > ligemed 1?
> >
> > altså mere kortfattet, kan man på baggrund af ovenstående slutte:
> >
> > *ip = 1
>
> Jo, hvis ip peger på x (som er 1) vil *ip være 1.

Hvis vi nu antager at x har adresse 100 og værdien 1.

Hvis man bare skrev ip = &x; så ville ip pege på adressen istedet for
indholdet af x ik'?

Altså for at få indholdet af x skal man bruge *.




Bertel Brander (21-11-2004)
Kommentar
Fra : Bertel Brander


Dato : 21-11-04 00:19

JS wrote:

>>Jo, hvis ip peger på x (som er 1) vil *ip være 1.

>Hvis vi nu antager at x har adresse 100 og værdien 1.
>Hvis man bare skrev ip = &x; så ville ip pege på adressen
>istedet for indholdet af x ik'?

ip peger ikke på en adresse, ip indeholder en adresse,
lige som x indeholder et tal (1 i dit eksempel).
I dit eksempel vil ip være 100 (kan udskrives med %p og printf).

>Altså for at få indholdet af x skal man bruge *.

For at få indholdet af det en pointer peger på skal man bruge
*ip

*ip betyder indholdet af det som ip peger på.


(Man skal ikke starte sine indlæg med "-- ", nogle email
programmer (f.ex. mit) fjerner det efter "-- " når man trykker
reply.)

--
"I learned more from a three minute record
than I ever learned in school"
- Bruce Springsteen

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408176
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste