我正在使用此代码但它没有运行。 它没有在Dev C ++中运行。 它运行然后爆炸。
#include <iostream>
using namespace std;
struct Node
{
struct Node* left;
int data;
struct Node* right;
};
typedef struct Node *node;
int main()
{
node n;
n->data = 4;
cout << n->data << endl;
return 0;
}
答案 0 :(得分:0)
在使用之前,您需要为n
分配内存,例如:
node n = new Node;
答案 1 :(得分:0)
显然,n
变量只是一个指向谁知道在哪里的指针。您需要为其分配一些内存地址,以便从中读取数据或写入数据
这应该可以解决问题:
node n = new Node;
typedef struct Node *node;
对您来说可能有点混乱
你可以写:
Node* n = new Node;
摆脱typedef,更清楚的是n
只是一个指针,因此你需要为它指定一个地址。