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

ziffle 2004-05-01 09:30:59
函数能返回结构体类型的变量不?
...全文
226 10 点赞 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
可以。自定义类型的变量一样可以返回的。
  • 打赏
  • 举报
回复
相关推荐
发帖
C语言
加入

6.5w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-05-01 09:30
社区公告
暂无公告