如何将结构malloc到已经在另一个结构中的指针

时间:2015-06-25 02:52:38

标签: c pointers data-structures struct

我的结构包含两个指针和一个值。它适用于二叉树。

 struct node 
 {
  int value;        //holds value of node
  node *lesschild;  //pointer to lesser value child
  node *greatchild; //pointer to greater value child
 };

这个结构由一个名为addelement的函数中的指针指向,现在我想malloc另一个由原始节点或结构中的一个指针指向的结构,I发生语法问题,我正在寻求帮助。

这就是我创建lesschild所指向的另一个结构的结果,该结构位于ptr所指向的结构中。

然后我试图通过双指针改变新结构中的值。

ptr->lesschild = &malloc(sizeof(struct node));
ptr->lesschild->value = add;   

谁能告诉我我缺少什么?谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

你非常接近,它是:

ptr->lesschild = (node *)malloc(sizeof(struct node)); 
ptr->lesschild->value = add;  // assuming add is an int

malloc已经返回一个指针。我当然假设lesschild实际上是node *而你刚刚写错了。