Lets sagen, dass ich den folgenden Code haben,Zeiger auf einen Zeiger, wie bekomme ich Werte?
typedef struct WordNode WordNode;
struct WordNode {
int freq; // The frequency of the the word.
char *word; // The word itself.
WordNode *next; // The next word node in the list.
};
struct WordSet {
int size; // The number of elements in the set.
WordNode *head; // The starting node in the set.
};
Danach habe ich einige Funktionen bekam, die diese Strukturen zu initialisieren. Um zu viel Code in diesem Beitrag zu vermeiden, werde ich vermeiden, diese Funktionen hier zu veröffentlichen.
wir nun an, ich folgendes haben,
WordNode **p = wset->head; // can't change this line
Hier p im Grunde ein Zeiger auf einen Zeiger, richtig?
Und dann, wenn ich dies tun:
(*p) == NULL
Dies würde wahr zurück, wenn p auf NULL zeigt, nicht wahr?
Nun, wie würde ich das Wort in wset-> Kopf bekommen?
Kann ich das tun?
(*(*p))->word
Und wenn ich möchte, dass p auf den nächsten WordNode zeigt, kann ich das tun?
Ich möchte nur wissen, ob das alles gültige Syntax ist, so dass ich weiß, dass ich Zeiger richtig verwende.
'WordNode ** p = wset-> Kopf;' - '>> WordNode ** p = & wset-> Kopf; '// sollte das ändern // BTW: was ist' wset'? – joop
'WordNode ** p = wset-> Kopf; '..Compiler nicht schreien? –
'WordNode ** p = wset-> Kopf; 'kompiliert nicht, Sie können einer 'WordNode **' - Variablen keinen 'WordNode *' zuweisen. Vielleicht meintest du 'WordNode ** p = & wset-> head; '? –