gpt4 book ai didi

c - 将结构指针传递给c中的函数

转载 作者:太空狗 更新时间:2023-10-29 16:27:26 26 4
gpt4 key购买 nike

我在将指向结构的指针传递给函数时遇到问题。我的代码基本上如下所示。在main函数中调用modify_item后,stuff == NULL。我希望 stuff 成为指向元素等于 5 的项目结构的指针。我做错了什么?

void modify_item(struct item *s){
struct item *retVal = malloc(sizeof(struct item));
retVal->element = 5;
s = retVal;
}

int main(){
struct item *stuff = NULL;
modify_item(stuff); //After this call, stuff == NULL, why?
}

最佳答案

因为您正在按值 传递指针。该函数对指针的副本进行操作,并且从不修改原始指针。

要么将指针传递给指针(即 struct item **),要么让函数返回指针。

关于c - 将结构指针传递给c中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066709/

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