怎么在函数中给结构体数组赋值

在main函数中创建一个结构体数组,要在另一个子函数中给它赋值,怎么办?... 在main函数中创建一个结构体数组,要在另一个子函数中给它赋值,怎么办? 展开
 我来答
有钱买不起房子
推荐于2017-10-14 · TA获得超过4326个赞
知道大有可为答主
回答量:1249
采纳率:100%
帮助的人:2085万
展开全部
#include <stdio.h>

//外部声明,可以直接调用
struct test1
{
int x;
int y;
};

void fun(int *x,int *y)
{
*x = 1;
*y = 2;
}

//直接用struct test1进行传人
void fun1(struct test1 *tt)
{
tt->x = 11;
tt->y = 22;
}

void main(void)
{
int i;

//使用外部结构体声明数组
struct test1 tt[3];

//内部定义一个结构体
struct test
{
int x;
int y;
}t[3];//3个元素的结构数组

//执行函数fun,进行赋值
for(i = 0;i < 3;i++)
fun(&t[i].x,&t[i].y);

//输出显示
for(i = 0;i < 3;i++)
printf("t[%d].x=%d,t[%d].y=%d\n",i,t[i].x,i,t[i].y);

//执行函数fun1,进行赋值
for(i = 0;i < 3;i++)
fun1(&tt[i]);

//输出显示
for(i = 0;i < 3;i++)
printf("tt[%d].x=%d,tt[%d].y=%d\n",i,tt[i].x,i,tt[i].y);
}
梁元铮
2011-08-27 · 超过26用户采纳过TA的回答
知道答主
回答量:87
采纳率:50%
帮助的人:42.9万
展开全部
和普通数据类型的定义相似,
赋值可以采用传址的方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式