程序编译并运行但一段时间后它停止在 cpp 中工作,使用 typedef 关键字
program compiles and runs but after sometime it stops working in cpp ,using typedef keyword
我正在使用此代码,但它不是 运行。
它不是 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;
}
使用前需要为n
分配内存,如:
node n = new Node;
显然 n
变量只是一个指向谁知道在哪里的指针。您需要为其分配一些内存地址,以便它可以从中读取数据或写入数据。
这应该可以解决问题:
node n = new Node;
typedef struct Node *node;
可能会让您有些困惑。
你可以这样写:
Node* n = new Node;
并摆脱 typedef,它更清楚地表明 n
只是一个指针,因此您需要为它分配一些它指向的地址。
我正在使用此代码,但它不是 运行。 它不是 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;
}
使用前需要为n
分配内存,如:
node n = new Node;
显然 n
变量只是一个指向谁知道在哪里的指针。您需要为其分配一些内存地址,以便它可以从中读取数据或写入数据。
这应该可以解决问题:
node n = new Node;
typedef struct Node *node;
可能会让您有些困惑。
你可以这样写:
Node* n = new Node;
并摆脱 typedef,它更清楚地表明 n
只是一个指针,因此您需要为它分配一些它指向的地址。