C++结构体怎么返回值啊????

我定义了一个结构体,里面有两个int型,一个char型,调用函数后,想让传递进去的结构体的值根据调用函数而改变,我该怎么返回结构体啊????... 我定义了一个结构体,里面有两个int型,一个char型,调用函数后,想让传递进去的结构体的值根据调用函数而改变,我该怎么返回结构体啊???? 展开
 我来答
匿名用户
推荐于2016-02-05
展开全部
可以直接返回结构体,也可以用指针参数(或者引用):

struct abc{
int a;
int b;
char c;
}

void fun(struct abc &st)//通过引用改变实参
{
st.a=5;
}

struct abc fun(struct abc st)//返回结构体
{
st.a=6;
return st;
}
ahnushe
2010-04-13
知道答主
回答量:6
采纳率:0%
帮助的人:3.7万
展开全部
将结构体指针作为函数的参数即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cmnull
2010-04-13 · TA获得超过310个赞
知道小有建树答主
回答量:102
采纳率:0%
帮助的人:145万
展开全部
不用返回结构,可以
将结构的一个指针(或者引用)传递给函数形参就行了。实例代码:

#include<iostream>
struct A
{
int x ;
int y ;
char z;
};

void func(A *p) // 接收指向结构体 A 的指针
{
p->x = 1;
p->y = 2;
p->z = 'L';
}

int main()
{
A a;
A * pa = &a; // 定义一个指向结构 a 的指针 pa
pa->x = 0;
pa->y = 0;
pa->z = 'h';

std::cout << "调用函数前的结构体:" << (pa->x) << (pa->y) << (pa->z) << std::endl;

func(pa); // pa 传进函数,函数改变 pa 指向的结构体

std::cout << "调用函数后的结构体:" << (pa->x) << (pa->y) << (pa->z) << std::endl;

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式