从函数返回结构(C)

前端之家收集整理的这篇文章主要介绍了从函数返回结构(C)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在函数内部创建一个结构(使用malloc动态)
然后我需要能够将它发送到我的主要,并在那里使用它.
我创建它没有任何问题,我只需要帮助将它发送到我的主要部分,而且我也不确定如何在它到达之后访问它.
struct retValue * fn() {
struct retValue
{
    int number;
};

struct retValue* st = malloc(sizeof(*st));


return(???);   
}

那是我到目前为止的代码.

谢谢你的帮助.如果你需要澄清的话,请告诉我.

编辑:

好的一些澄清是必要的.

我想要实现的是能够通过函数将结构传递给我的main.在函数内部,我必须声明变量,并为它们赋值.然后在主要我必须将结构的每个变量打印到屏幕上.不能使用全局变量(因此我假设没有全局结构).

希望澄清事情.

编辑2:

我弄清楚了我的问题.对于那些感兴趣的人,我需要首先在我的函数之外使用结构原型.然后我可以通过st然后正确访问它.
感谢所有人,并为可怜的措辞感到抱歉.

解决方法

// make the structure def global so that main() and fun() know about it.
struct retValue {
 int number;
};    

// function fn returns a pointer to the structure retValue
struct retValue * fn() {     

 struct retValue* st = malloc(sizeof(*st));

 // return the pointer to the newly allocated structure.
 return(st);   
}

int main() {

 // call fn() to create a new structure dynamically.
 struct retValue *st = fn();
}

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