我有這樣的代碼中的錯誤:傳遞一個未初始化的變量投擲用C
typedef struct node
{
int data;
struct node *left;
struct node *right;
} node;
void Build (node *root , int i)
{
if (i < 7)
{
root = (node *)malloc (sizeof(node));
root->data = i;
Build(root->left,2*i+1);
Build(root->right,2*i+2);
}
else
root = NULL;
}
void Print (node *root)
{
if (root)
{
printf ("%d ",root->data);
Print(root->left);
Print(root->right);
}
}
void main()
{
node *tree;
Build(tree,0);
Print(tree);
}
兩件事情,我不明白, 1.我爲什麼不能過建立(樹,0)?它說它是未初始化的,但爲什麼我會關心它是否未初始化?我直接分配所有需要的內存,所以它會指向新分配的節點。
我該如何解決這個問題?謝謝!!!
'無效的主要()':( – Marlon 2012-07-19 00:04:37