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

前端之家收集整理的这篇文章主要介绍了将结果指针传递给c中的函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我将一个指针传递给一个函数的结构有问题.我的代码基本上是如下所示.在main函数调用了modify_item之后,stuff == NULL.我想要的东西是指向一个元素等于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?
}

解决方法

因为你通过值传递指针.该函数在指针的副本上运行,并且不会修改原始文件.

将指针传递给指针(即,结构项目**),或者返回指针.

猜你在找的C&C++相关文章