打印

结构体问题

[复制链接]
1086|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yybj|  楼主 | 2012-2-29 19:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[code=C/C++][/code]struct Q{
int a;
int b;
};
struct Q ff(struct Q ss)
{
struct Q xx;
xx.a = 4;
xx.b = 6;
return xx;
}
int main()
{
struct Q s;
struct Q t;
s.a = 2;
s.b = 3;
t = s;
t = ff(s);
return 0;
}
对于如上一个结构体,或者类似一个类(没有拷贝构造函数),不考虑存在指针成员的前提下,测试均能完成如下三个要求:
1) 对象或者结构体以值传递的方式传入函数体;
2) 对象或者结构体以值传递的方式从函数返回;
3) 对象或者结构体需要通过另外一个对象或者结构体进行初始化;
C++中是通过默认构造函数来完成的,C语言中是如何完成的呢?
之前老谭的书上貌似说不可以这样用,TC貌似也是不支持的!可以通过内存拷贝函数memcpy()完成。。
但是如上代码完成1) 2)3)三个功能内部是如何实现的呢?效率如何?
89增加这个功能有什么特别意义么?

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

175

主题

2496

帖子

1

粉丝