Seite 1 von 1

Liste erzeugen Frage zum first-last pointer

Verfasst: Di 25. Jan 2011, 23:32
von beafraid88
hey leute,

wenn man folgenden codeausschnitt hat:

typedef struct node {
Partei data;
struct node *next;
} Node, *nodeptr;

typedef struct list {
nodeptr first; nodeptr last;
} List, *listptr;


warum fehlen dann beim struct list bei nodeptr first und nodeptr last der stern?also warum nicht

typedef struct list {
*nodeptr first; *nodeptr last;
} List, *listptr;

beim ersten struct (s.o.) wird doch ein zeiger initialisiert, der auf einen struct vom typ node zeigt...

Re: Liste erzeugen Frage zum first-last pointer

Verfasst: Mi 26. Jan 2011, 10:17
von bob10
Weil Du im oberen typedef ja sagst, dass nodeptr schon ein Zeiger auf dieses struct ist, deshalb auch der Stern bei *nodeptr im typedef beim oberen struct.

Re: Liste erzeugen Frage zum first-last pointer

Verfasst: Mi 26. Jan 2011, 21:43
von beafraid88
ja gut. aber wenn ich einen zeiger initialisiere, dann muss man ja generell den adressoperator verwenden. also bspw.:
...
int* ganzzahlptr,ganzzahl;
ganzzahlptr=&ganzzahl;
...

ist es richtig, wenn ich sage,dass ich mit folgendem codeausschnitt einen zeiger structpointer initialisiere, der auf eine struktur namens Person1 vom typ account zeigt, oder muss vor Person1 ein adressoperator hin?

typedef struct {
int passwort;
char name[20];
} account, *structpointer;

account Person1;
structpointer Person1

Re: Liste erzeugen Frage zum first-last pointer

Verfasst: Do 27. Jan 2011, 18:12
von bob10
beafraid88 hat geschrieben:ist es richtig, wenn ich sage,dass ich mit folgendem codeausschnitt einen zeiger structpointer initialisiere, der auf eine struktur namens Person1 vom typ account zeigt, oder muss vor Person1 ein adressoperator hin?
Das geht so:

typedef struct {
int passwort;
char name[20];
} account, *structpointer;

account Person1;
structpointer Person1zeiger = &Person1;

Lässt sich aber durch ausprobieren auch alles selbst rausfinden.

Re: Liste erzeugen Frage zum first-last pointer

Verfasst: Fr 28. Jan 2011, 19:18
von beafraid88
ok,super. vielen dank :)))