0

C で二分探索木のコーディングを練習していて、エラーが発生しました。

#include <stdio.h>
#include <stdlib.h>

/*struct Node*/
typedef struct Node{
    int data;
    struct Node* left;
    struct Node* right;
}Node;

/*Forward declaration*/
Node *createNode(int data);

int main(int argc, char** argv) {
    Node *root;
    root = createNode(3); //ERROR

}

Node* createNode(int data){
    Node* newNode = (Node*)malloc(sizeof(Node));

    if(newNode==NULL){
        fprintf(stderr,"Failed to allocate node\n");
        exit(1);
    }

    newNode->data = data;
    newNode->left = NULL;
    newNode->right= NULL;
    return newNode;  //ERROR OCCURS HERE

}

これを実行しようとすると、実行に失敗します。エラーは、newNode を返すときに発生します。ポイントが返ってこない理由がわかりません。

私はネットビーンズを使用していますが、これはそれが言うことです

4

2 に答える 2

0

を使用してみてください#include<malloc.h>。これは一部のコンパイラで役立ちます。

于 2013-09-13T07:54:14.973 に答える