Pointer Beschreibung < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
|
Aufgabe | Erklären Sie die Konstrukte und ihre Auswirkungen in dem folgenden
Programm und ergänzen Sie die Anweisungen um die Befehle zur Ausgabe der
Werte der entsprechenden Variablen
int main ()
{
int i1,
i[3],
*i2,
**i3;
i1 = 5;
i2 = &i1;
i3 = &i2;
i[0] = i1;
i[1] = *i2 + 1;
i[2] = **i3 + 2;
return 0;
} |
Kann mir auch hier mal jemand helfen
was bedeutet das **i zb. :(
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:22 Mi 28.05.2008 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 17:19 Do 29.05.2008 | Autor: | New_Moon |
Hallo,
ich mach es mal der Reihe nach durch:
> Erklären Sie die Konstrukte und ihre Auswirkungen in dem
> folgenden
> Programm und ergänzen Sie die Anweisungen um die Befehle
> zur Ausgabe der
> Werte der entsprechenden Variablen
>
> int main ()
> {
> int i1,
damit wird eine Variable mit dem Namen i1 vom Wert Integer deklariert.
> i[3],
damit wird ein eindimensionales Integer-Array mit drei Elementen angelegt
> *i2,
damit wird ein Pointer vom Typ Integer und dem Namen i2 deklariert
> **i3;
damit wird ein Pointer auf einen Pointer vom Typ Integer und dem Name i3 deklariert
> i1 = 5;
damit weist du der Variable i1 den Wert 5 zu
> i2 = &i1;
damit weist du dem Pointer i2 die Adresse von i1 zu
> i3 = &i2;
damit wird in i3 die Adresse von i2 gespeichert
> i[0] = i1;
hier wird dem ersten Element des Arrays i der Wert zugewiesen, der in i1 steht
> i[1] = *i2 + 1;
dann wird in dem zweiten Element des Arrays i der Wert von i1 (=i2 zeigt auf i1 und wird mit * dereferenziert) + 1 (also 6) gespeichert
> i[2] = **i3 + 2;
in dieser Zeile passiert etwas ähnliches: i3 zeigt auf i2, i2 zeigt immer noch auf i. Mit dem ** wird i3 zweimal dereferenziert, das heißt der Ausdruck **i3 ergibt 5 und dann zählst du noch 2 hinzu und speicherst den Wert an der dritten Stelle im Array i.
> return 0;
> }
> Kann mir auch hier mal jemand helfen
>
> was bedeutet das **i zb. :(
Gruß, Florian
|
|
|
|