我需要在函数内部创建一个结构(使用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(); }