私はツリーのためのcプログラムを書いています。ツリーノードに新しいノードを割り当てるときにプログラムがクラッシュする
#include<stdio.h>
#include<stdlib.h>
struct node{
int data;
struct node *left;
struct node *right;
};
struct node* newNode(int value){
struct node* temp;
temp->left = NULL;
temp->right = NULL;
temp->data = value;
return temp;
}
int main(){
struct node *root;
root = newNode(60);
root->left = newNode(40);
root->right = newNode(80);
root->left->left = newNode(30); // program crashes here.
root->left->right = newNode(50);
}
これは私が書いている別のプログラムのサブセクションです。デバッグ中にnewNode(30)
を割り当てる際にエラーが発生していることがわかりました。なぜ私は理解できないのですか? 、あなたはあなたのnewNode()
機能で
'struct node * temp;' - > 'struct node * temp = malloc(sizeof(* temp));' – BLUEPIXY