Forum: PC-Programmierung Zeiger in C, Ausgabe


von Peter (Gast)


Lesenswert?

Hallo, ich habe eine kurze Verständnisfrage zu den Zeigern.


Wie muss Zeile 6 unter Verwendung von zeiger2 lauten, damit "Ergebnis = 
7" augegeben wird?

 #include <stdio.h>
 void main(){
 int zahl;
 int *zeiger = &zahl;
 int **zeiger2 = &zeiger;


 printf("Ergebnis = %d", zahl);
 }

Ist die Lösung: **zeiger2=7; ?

Kann es gerade leider nicht testen, da ich mit den Handy unterwegs bin.
MfG

von VHDL (Gast)


Lesenswert?

Laut IDEONE.com

**zeiger2 = 7;

von Paul (Gast)


Lesenswert?

Wie kommst Du auf 7?

Zahl wurde überhaupt nicht initialisiert.

von VHDL (Gast)


Lesenswert?

less dir mal die Aufgabenstellung durch.

Wie muss Zeile 6 unter Verwendung von zeiger2 lauten, damit "Ergebnis =
7" augegeben wird?

von Muhammed (Gast)


Lesenswert?

Vielen Dank für die schnelle Antwort :)

von Muhammed (Gast)


Lesenswert?

Noch eine schnelle Frage:

 int irgendeineFunktion( int wert);
 int (*zeiger)(int wert);

 void main(){
 int ergebnis;
 zeiger = irgendeineFunktion;

 printf("Ergebnis = %d", ergebnis);
 }


//9:
 int irgendeineFunktion( int wert){
 return( wert-1 );}



Wie kann ich Zeile 7 ergänzen, dass das Ergebnis beispielsweise 1 
lautet, während ich "zeiger" als Variable verwende?

von VHDL (Gast)


Lesenswert?

lösen wir hier etwa deine Hausaufgaben?

von Muhammed (Gast)


Lesenswert?

nein VDHL,

Es sind Aufgaben, die ich nicht sicher lösen kann.
Aufgabe 1 habe ich doch selbst richtig gelöst, bei der aufgabe 2 fehlt 
mir eine idee

von VHDL (Gast)


Lesenswert?

ergebnis = zeiger(2);

von VHDL (Gast)


Lesenswert?

du weist zeiger die adresse deiner Funktion "irgendeineFunktion" zu. 
somit zeigt zeiger auf die Funktion. und du kannst diese wie eine 
funktion audrufen

von Muhammed (Gast)


Lesenswert?

ergebnis = zeiger(2);

Zum Verständnis (ich möchte schließlich nicht nur die Lösung, sondern 
auch verstehen )

wenn ergebnis = zeiger(2); , wird in "ingendeineFunktion" nochmal 1 
subtrahiert ?

Für das Ergebnis 3 Wäre also ergebnis = zeiger(4); korrekt oder?

von VHDL (Gast)


Lesenswert?

richtig du rufst mit zeiger(23) eigentlich die Funktion 
"irgendeineFunktion" auf.

in dieser Funktion wird der Übergabeparameter "23" mit 1 subtrahiert und 
dann als Rückgabewert zurück gegeben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.