gpt4 book ai didi

c - 如何将箭头指针传递给函数?

转载 作者:太空宇宙 更新时间:2023-11-04 07:14:44 27 4
gpt4 key购买 nike

struct node {
int x;
struct node *next;
};

void allocateMemory(struct node *some_node) {
some_node = malloc(sizeof(struct node));
}

在另一个函数中:

struct node add(struct node *root, struct node *thisNode, int value)

我试着这样称呼:

allocateMemory(thisNode->next);

我收到一个运行时错误。它什么都不做。然而,当我在上述函数中执行与 allocateMemory() 相同的操作时,即:

thisNode->next = malloc(sizeof(struct node));

它做了它应该做的事。我做错了什么?

最佳答案

在该代码中:

void allocateMemory(struct node *some_node) {
some_node = malloc(sizeof(struct node));
}

你可以这样写:

void allocateMemory(struct node **some_node) {
*some_node = malloc(sizeof(struct node));
}

在调用时:

allocateMemory(&thisNode->next);

关于c - 如何将箭头指针传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25826998/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com