Du bist nicht angemeldet.

1

Freitag, 27. Januar 2012, 22:02

Zeiger in C, simples Verständnis problem?

Moin zusammen,
ich bin noch blutiger Anfänger und fange gerade an C und Objective-C zu erlernen damit ich mich anschließend an Cocoa ran wagen kann. Ich hoffe ich bin hier richtig im Forum :)
Ich bin derzeit bei den Zeigern in C hängen geblieben. Hier mal mein Beispielcode (über denn Sinn brauchen wir nicht sprechen ich versuche damit nur die Zeiger zu verstehen):

Quellcode

1
2
3
4
5
6
7
int a = 10;
int *addressOfA = &a;
int query = a;
    
*addressOfA = 20;
    
printf("mal schauen %d\n",query);



Ich habe jetzt eigentlich erwartet das bei der Ausgabe der Wert 20 übernommen wird und nicht die 10. Ich ändere ja hier eigentlich den Wert von a auf 20 und gebe erst dann den query aus. Liegt das etwa daran das zum Zeitpunkt der Zuweisung von a an query der Wert 10 übernommen wird und in query gespeichert?

Gruß nYmo

2

Freitag, 27. Januar 2012, 22:07

"query" und "a" sind beides normale ints, also findet eine reine Zuweisung (Kopie) statt.
C++

3

Freitag, 27. Januar 2012, 22:28

Achso, damit wird also der wert den ich für a definiert habe in query gespeichert (10). Ok macht jetzt sinn. Danke

Verwendete Tags

C, Zeiger

Social Bookmarks