我如何通过将节点传递给另一个函数来分配内存?

时间:2019-02-16 10:39:27

标签: c memory null nodes

在这里我尝试发送以零值开头的节点根的地址,但我将其发送到create函数为其分配内存。它似乎仅为create内的节点而不是root分配内存。我如何为root分配内存?不使用root = create(),该函数仅返回创建的节点的地址。我只想传递变量并分配内存 在不同的功能。

#include <stdio.h>
#include <stdlib.h>
struct node
{
    int data;
};
struct node *root=NULL;
void create(struct node *node)
{
    int num;
    printf("enter the data");
    scanf("%d",&num);
    node=(struct node*)malloc(sizeof(struct node));

    node->data=num;
        printf("%d",node->data);

}
int main()
{
    create(root);
    if(root==NULL)
        printf("null");
    printf("%d",root->data);
    return 0;
}

0 个答案:

没有答案