C++二叉树结点中数据访问

struct node
{
node * left;
node * right;
int element;
}
node * tree;
tree.element = 5; //此声明没有存储类或类型说明符
tree->element = 5;//此声明没有存储类或类型说明符
我的问题是:为什么tree指针不能访问node里面的数据???

http://ideone.com/nZN1Wp

 #include <iostream>
using namespace std;

struct node
{
node * left;
node * right;
int element;
};
node * tree;

int main() {
    // your code goes here
    node n;
    tree = &n;
    tree->element = 5;
    return 0;
}

在线编译没有错误。

知道了,我没给tree分配空间,就初始化他们。
多谢了。