Was ist die Syntax "struct * struct newStruct (int somedata) {}" in c ++ [duplicate]
Nov 16 2020
Ich habe versucht, einen Baum in C ++ zu erstellen, und bin auf diesen Code gestoßen, der mich wirklich verwirrt.
struct node
{
int data;
struct node* left;
struct node* right;
};
// The code bellow this is the part i dont understand
struct node* newNode(int idata)
{
node* node = new struct node;
node->data = idata;
node->left = NULL;
node->right = NULL;
return node;
}
was ist struct node*? Eine Art Struktur, aber ein Zeiger? Sollten Strukturen auch nicht ;am Ende haben? Zum Beispiel nodehat ;am Ende des Körpers , aber nicht node*?
Antworten
1 nvjsingh Nov 16 2020 at 03:43
struct node*ist der Rückgabetyp der Funktion newNode()und keine Definition an sich. Die Zeile, auf die Sie sich beziehen, ist die Signatur der Funktion newNode. Es folgt die Funktionsdefinition zwischen den beiden geschweiften Klammern {}. Eine Funktionsdefinition benötigt ;am Ende kein .