结构体能否按值传递给函数参数?

zhangyiheng 2006-10-14 03:40:53
struct structure
{
int a;
long b;
}s;
main()
{
print(s);
}

print(structure s)
{
printf("a=%d,b=%l",a,b);
}
这样可以吗?
...全文
273 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
todototry 2006-10-14
  • 打赏
  • 举报
回复
当然可以
个人意见,高手多多指教
westdot 2006-10-14
  • 打赏
  • 举报
回复
struct structure
{
int a;
long b;
}s;
main()
{
print(s);
}

print(structure s)
{
printf("a=%d,b=%l",s.a,s.b);
}
westdot 2006-10-14
  • 打赏
  • 举报
回复
我晕,是楼上的楼上的楼上。。
westdot 2006-10-14
  • 打赏
  • 举报
回复
楼上的错了。s是引用。用"s.a,s.b"
飞哥 2006-10-14
  • 打赏
  • 举报
回复
总结ls各位观点

,首先肯定楼主是对的,可以通过结构值传参
只是如果是结构数组,值拷贝会影响效率,这种情况该用指针

,fa_ge()的思路是可以的
但是他传的是应用,不是指针
-> ???????? 。
zhangyiheng 2006-10-14
  • 打赏
  • 举报
回复
我知道按指针或者按引用传递都行,但上次面试人家却问我能否直接按值传递
fa_ge 2006-10-14
  • 打赏
  • 举报
回复
應改為
struct structure
{
int a;
long b;
}s;
main()
{
void print(struct );
print(s);
}

void print(struct &s)
{
printf("a=%d,b=%l",s->a,s->b);
}
beginnow 2006-10-14
  • 打赏
  • 举报
回复
当然可以,不过改指针传递要好

69,381

社区成员

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

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