结构指针究竟是什么意思

时间:2021-02-17 04:53:56

标签: c

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);
}

1 个答案:

答案 0 :(得分:1)

log(data)

是结构的名称。

<块引用>

这个结构体Node*到底是什么意思?

ggplot(aes(x, log(data), color = name, ymin = log(lower), ymax = log(upper))) +
  geom_errorbar(position = "dodge") +
  geom_point(position = position_dodge(width = 0.61))
  # 0.61 found experimentally; I'm not familiar with the process for
  #   determining dodge parameter defaults

您声明了一个指向需要分配一些内存的结构struct Node; 的指针。 C 中没有 struct Node* node; 关键字。您需要使用 Node 来分配所需的内存字节。你可以这样分配:

new
<块引用>

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

这一行:

malloc()

struct Node* node = (struct Node *)malloc(sizeof(struct Node)); 的类型返回给函数。

相关问题