struct node {
int key;
struct node* left;
struct node* right;
};
struct node * newBST(int key){
struct node* temp = (struct node*) malloc(sizeof(struct node));
temp -> key = key;
temp -> left = temp -> right = NULL;
return key;
}
所以我无法理解为什么我们malloc节点的大小?结构*临时? 是这样我们可以访问节点中创建的元素吗?
答案 0 :(得分:4)
保留内存。在struct node {...}
之后,您现在基本上已经了解了节点应该是什么样子的蓝图。然后你去 urban 记忆计划办公室,并告诉他们"我正在制作一个新节点,我能在某处预留24 square meter 字节吗? "他们告诉你"当然,这里应该是一个好地方,我们保证不会把它交给其他任何人。只要确保不要乱用24个平方米字节之外的任何东西,否则会发生不好的事情"。所以你拿走temp
地址,去那里开始布局:key
进入这些 8 平方米字节,然后让#39 ; s清除这些 8以及这些其他 8来自之前可能存在的所有残疾......
*)int
现在通常占用8个字节的内存,每个指针也是如此。但这取决于您的计算机和编译器。