函数能返回结构体类型的变量不?

ziffle 2004-05-01 09:30:59
函数能返回结构体类型的变量不?
...全文
317 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
antijpn 2004-05-02
  • 打赏
  • 举报
回复
可以是可以,但是效率实在是太低了
ghiewa 2004-05-02
  • 打赏
  • 举报
回复
hehe,要注意结构体的生存周期哦!!

效率太低? 是指又拷贝了一个副本?
robbie24 2004-05-02
  • 打赏
  • 举报
回复
可别返回局部结构体变量的地址哦~
bshaozi 2004-05-02
  • 打赏
  • 举报
回复
可以返回啊
不仅是指针,也可以是结构体本身
但是一般是返回指针~
这样便于以后的操作~
wbh0360 2004-05-02
  • 打赏
  • 举报
回复
可以,但效率低,不如返回地址啊。
cngdzhang 2004-05-02
  • 打赏
  • 举报
回复
简单对象可以,
但是当结构中有指针的时候,
它的拷贝是很机械的

比如:
struct st
{
char *s;
}

struct st s1,s2;

那么s1=s2; 时是s1.s=s2.s的,而不是stcpy(s1.s,s2.s),有点危险

liem 2004-05-02
  • 打赏
  • 举报
回复
可以返回
tyrobird 2004-05-02
  • 打赏
  • 举报
回复
typedef struct
{
int a;
char b;
char c;
short d;
}foo_t;


foo_t my_func()
{
foo_t f;
....

return f;
}

上面的代码是正确的,但一般不建议这么写,这样
foo_t* my_func()
{

foot_t* p_f = (foo_t*)malloc(sizeof(foo_tT));

...
return p_f; //去外面释放
}




lw549 2004-05-02
  • 打赏
  • 举报
回复
返回结构体的指针
zhouqingyuan 2004-05-01
  • 打赏
  • 举报
回复
可以。自定义类型的变量一样可以返回的。

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧