Verständnisfrage Zeiger

Schnelle objektorientierte, kompilierende Programmiersprache.
nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Grafische Oberfläche

Beitrag von nufan » Mo Dez 15, 2008 7:44 pm

DirtyOerti hat geschrieben:

Code: Alles auswählen

*z++;
//a ist nun 6

z = &b;

*z++;
//b ist nun 2
Sicher? ;)
++ bindet stärker als *. Siehe: http://tutorial.proggen.org/doku.php?id=c:expr:opprio
Also zeigt dann z auf das nächste Element --> Speichermüll. :D
Bei solche Sachen mach ich deshalb immer Klammern um die Variable und das ++ bzw. *.

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Verständnisfrage Zeiger

Beitrag von Dirty Oerti » Mo Dez 15, 2008 8:47 pm

Ach verdammt ^^
Blöde Prioritäten^^

Klammern rum und fertig :)
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
+Fuss+
Beiträge: 385
Registriert: Fr Nov 14, 2008 8:16 pm

Re: Verständnisfrage Zeiger

Beitrag von +Fuss+ » Mo Dez 15, 2008 9:07 pm

Code: Alles auswählen

*z++;
//a ist nun 6

z = &b;

*z++;
//b ist nun 2
Richtig müsste es doch dann so heißen:

Code: Alles auswählen

(*z)++

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Verständnisfrage Zeiger

Beitrag von Dirty Oerti » Mo Dez 15, 2008 9:21 pm

(und noch ein ";" dahinter)

Genau :)

(Der Fehler war natürlich komplett absichtlich gelegt ... *sich rausred* :D )
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
+Fuss+
Beiträge: 385
Registriert: Fr Nov 14, 2008 8:16 pm

Re: Verständnisfrage Zeiger

Beitrag von +Fuss+ » Di Dez 16, 2008 5:54 pm

Also ich glaub ich hab das mit den Parametern verstanden is ja eig. ganz einfach...

ich hab die integer a und b
pointera zeigt auf a
pointerb zeigt auf b

wenn ich jetzt eine Funktion hab und der die Werte von a und b übergeben möchte, dann übergebe ich nicht die kompletten integer a und b,
sonder die Zeiger die auf a und b zeigen, oder???

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Verständnisfrage Zeiger

Beitrag von nufan » Di Dez 16, 2008 7:19 pm

+Fuss+ hat geschrieben:wenn ich jetzt eine Funktion hab und der die Werte von a und b übergeben möchte, dann übergebe ich nicht die kompletten integer a und b,
sonder die Zeiger die auf a und b zeigen, oder???
Du übergibst im Normalfall keinen Zeiger auf die Variable sondern die Adresse der Variable die im Unterprogramm dann einem Zeiger zugewiesen wird.

Benutzeravatar
+Fuss+
Beiträge: 385
Registriert: Fr Nov 14, 2008 8:16 pm

Re: Verständnisfrage Zeiger

Beitrag von +Fuss+ » Di Dez 16, 2008 7:21 pm

Mein ich doch....

Benutzeravatar
+Fuss+
Beiträge: 385
Registriert: Fr Nov 14, 2008 8:16 pm

Re: Verständnisfrage Zeiger

Beitrag von +Fuss+ » Mi Dez 17, 2008 2:46 pm

Wenn ich nochmal über Zeiger und Funktionsparamter (call by value) nachdenke ist das doch eigentlich ganz logisch.

[Schwachsinn]
Kann es vielleicht sein, dass die bei Microsoft lieber mit Parameter call by value als mit call by referenz arbeiten???
Wenn ich dran denk wie lange der Laptop braucht zum hochfahren...
[/Schwachsinn]

Ich schreib vielleicht mal ein kleines Programm zur Übung und danach erwecke ich den GTK+ Thread wieder.


MfG Fuss
Zuletzt geändert von +Fuss+ am Mi Dez 17, 2008 3:24 pm, insgesamt 1-mal geändert.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Verständnisfrage Zeiger

Beitrag von Xin » Mi Dez 17, 2008 3:10 pm

+Fuss+ hat geschrieben:Wenn ich nochmal über Zeiger und Funktionsparamter (call by value) nachdenke ist das doch eigentlich ganz logisch.

Kann es vielleicht sein, dass die bei Microsoft lieber mit Parameter call by value als mit call by referenz arbeiten???
Wenn ich dran denk wie lange der Laptop braucht zum hochfahren...
Es wird überall fast ausschließlich mit CallByValue gearbeitet, denn ein Zeiger ist auch nur ein Value, das kopiert wird, selbst wenn er als Referenz verwendet wird.
Microsoft arbeitet genauso, wie Linux mit Zeigern und benutzt die Zeiger dann als Referenz.
+Fuss+ hat geschrieben:Ich schreib vielleicht mal ein kleines Programm zur Übung und danach erwecke ich den GTK+ Thread wieder.
Womit arbeitest Du denn nun?
Mit Zeigern (char *) oder Referenzen (char &, nur in C++ verfügbar)
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
+Fuss+
Beiträge: 385
Registriert: Fr Nov 14, 2008 8:16 pm

Re: Verständnisfrage Zeiger

Beitrag von +Fuss+ » Mi Dez 17, 2008 3:22 pm

Ich arbeite natürlich mit Zeigern...

Ich war nur eben zum Nachlesen auf eine ganz andere Seite gestoßen (Google halt)
und da war das ein bisschen komisch erklärt...

Ich hab mir aber hier in dem Tutorial alles über Zeiger nochmal durchgelesen und auch verstanden! (Auch das man bei der Übergabe von arrays an Funktionen keinen Adress-Operator (&) braucht)
Das war auf der anderen Seite auch ganz anders erklärt, ich weiß leider nichtmehr was ich genau bei google eingegeben habe...


MfG Fuss

Antworten