我试图用 C++ 制作一棵树,并遇到了这段代码,这真的让我很困惑。
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;
}
什么是
struct node*
?某种结构,但是指针?另外,结构体末尾不应该有 ;
吗?例如,node
在主体末尾有 ;
,但没有 node*
?
struct node*
是函数 newNode()
的返回类型,本身并不是定义。您所指的行是函数newNode
的签名。接下来是两个大括号 {} 之间的函数定义。函数定义末尾不需要 ;
。