zeigerarithmetik < C/C++ < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Hallo,
kann jemand überprüfen:
Tragen Sie in jeder Zeile jeweils die Werte des Feldes rgVec auf dem Blatt ein. Unterstreichen Sie die Elemente, auf welche die Zeiger zeigen.
zeiger p1= blau
zeiger p2= grün
1.) unsigned short rgVec[]={0,1,2,3,4,5};
-> 0,1,2,3,4,5
2.) unsigned short *p1=rgVec, *p2=&rgVec[2];
-> 0,1, 2 ,3,4,5
3.) *p2=11;
-> 0,1, 11 ,3,4,5
4.) p1[1]=*(p2+2);
-> 0,4, 11 ,3,4,5
5.) p2[1]=2;
-> 0,4, 11 ,2,4,5
6.) p2++;
-> 0,4,11, 2 ,4,5
7.) *p2=3**p1;
-> 0,4,11, 0 ,4,5
8.) *p1=p2-p1;
-> 3,4,11, 0 ,4,5
(bei zeile 8 bin ich mir da auch nicht ganz sicher,
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:28 Do 03.06.2010 | Autor: | rainerS |
Hallo!
> Hallo,
>
> kann jemand überprüfen:
>
> Tragen Sie in jeder Zeile jeweils die Werte des Feldes
> rgVec auf dem Blatt ein. Unterstreichen Sie die Elemente,
> auf welche die Zeiger zeigen.
>
> zeiger p1= blau
> zeiger p2= grün
>
>
> 1.) unsigned short rgVec[]={0,1,2,3,4,5};
> -> 0,1,2,3,4,5
> 2.) unsigned short *p1=rgVec, *p2=&rgVec[2];
> -> 0,1, 2 ,3,4,5
> 3.) *p2=11;
> -> 0,1, 11 ,3,4,5
> 4.) p1[1]=*(p2+2);
> -> 0,4, 11 ,3,4,5
> 5.) p2[1]=2;
> -> 0,4, 11 ,2,4,5
> 6.) p2++;
> -> 0,4,11, 2 ,4,5
>
> 7.) *p2=3**p1;
> -> 0,4,11, 0 ,4,5
> 8.) *p1=p2-p1;
> -> 3,4,11, 0 ,4,5
Alles richtig!
> (bei zeile 8 bin ich mir da auch nicht ganz sicher,
Warum nicht?
p2 zeigt auf das Element mit dem Index 3, p1 auf das mit dem Index 0, daher ist die Differenz 3.
Viele Grüße
Rainer
|
|
|
|