首页 > 解决方案 > 结构指针到底是什么意思

问题描述

struct Node
{
    int data;
    struct Node* left, *right;
};

这究竟是什么意思struct Node *?下面的函数是否返回指向节点的指针?

struct Node* newNode(int data)
{
    struct Node* node = new(struct Node);
    node->data = data;
    node->left = node->right = NULL;
    return (node);
}

标签: c

解决方案


struct Node;

是您的结构的名称。

这个 struct Node* 到底是什么意思?

struct Node* node;

您正在声明一个指向Node需要分配一些内存的结构的指针。C中没有new关键字。您需要使用它malloc()来分配所需的内存字节。你可以这样分配:

struct Node* node = (struct Node *)malloc(sizeof(struct Node));

它是否返回指向节点的指针?

这一行:

return (node);

返回struct Node*函数的类型。


推荐阅读