Seite 1 von 1
					
				[gelöst] C - struct und zeiger
				Verfasst: Mi Feb 10, 2010 8:23 pm
				von stampuhh
				Hey,
ich habe gerade ein kleines Verständnisproblem.
Und zwar geht es um so etwas:
Code: Alles auswählen
struct A
{
    int  wert;
};
struct B
{
    struct A  *tmp;
}st1;
Warum muss ich um auf "wert" zuzugreifen "st1->tmp->wert" schreiben und kann nicht "st1->tmp.wert" schreiben?
Ist das ein Zeiger auf einen int-Zeiger?
gruß stampuhh
 
			
					
				Re: C - struct und zeiger
				Verfasst: Mi Feb 10, 2010 8:32 pm
				von Dirty Oerti
				Nein, da hast du was falsch verstanden 
 
Code: Alles auswählen
struct A
{
    int wert;
};
//...
struct A str_a;
str_a.wert = 5;
struct A *str_ap = (struct A*)malloc(sizeof(struct A));
str_ap->wert = 5;
Code: Alles auswählen
struct B
{
    int *pointer;
};
//...
struct B str_b;
str_b.pointer = (int *)malloc(sizeof(int));
*(str_b.pointer) = 5;
struct B *str_bp = (struct B*)malloc(sizeof(struct B));
str_bp->pointer = (int*)malloc(sizeof(int));
*(str_bp->pointer) = 5;
 
			
					
				Re: C - struct und zeiger
				Verfasst: Mi Feb 10, 2010 8:46 pm
				von stampuhh
				Danke für die schnelle Antwort 
 
Ich glaube so langsam hab ich das ganze raus  
 
 
im meinem Fall ist das so dann schon richtig...
gruß digga
 
			
					
				Re: C - struct und zeiger
				Verfasst: Mi Feb 10, 2010 9:26 pm
				von nufan
				stampuhh hat geschrieben:im meinem Fall ist das so dann schon richtig...
 
Wenn st1 ein Zeiger auf ein struct B ist stimmt es.
ist nur eine Abkürzung für
Du könntest also auch
schreiben.
Ansonsten ist den Beispielen von Dirty Oerti nichts hinzuzufügen.
 
			
					
				Re: C - struct und zeiger
				Verfasst: Mi Feb 10, 2010 10:39 pm
				von stampuhh
				Danke für die Abkürzungen...das hilft beim Verständnis!
Wenn st1 ein Zeiger auf ein struct B ist stimmt es.
ja natürlich..hatte ich vergessen zu erwähnen.
edit: ich würde den Thread gerne auf gelöst oder sowas stellen..aber kann meinen ersten Post nicht bearbeiten 
 
gruß stampuhh
 
			
					
				Re: C - struct und zeiger
				Verfasst: Mi Feb 10, 2010 10:47 pm
				von Dirty Oerti
				stampuhh hat geschrieben:
edit: ich würde den Thread gerne auf gelöst oder sowas stellen..aber kann meinen ersten Post nicht bearbeiten 
 
 
Erledigt 
