结构体类型作为函数类型,表示函数返回一个结构体对象。
创新互联公司长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为凯里企业提供专业的成都网站设计、成都做网站,凯里网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。
这里sum拼写错误,应该是大写Sum。
C语言允许用户使用 typedef 关键字来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。一旦用户在程序中定义了自己的数据类型名称,就可以在该程序中用自己的数据类型名称来定义变量的类型、数组的类型、指针变量的类型与函数的类型等。
函数里定义的结构体是局部变量,在这个函数外是不能使用的。
你要在函数外定义成全局变量。
例,函数外:
struct
s{
int
a;
}s1,s2;
这样的就定义了两个全局的结构体s1,s2,这两个结构体在所有函数中都可以使用,当然,使用它们的函数里,不能再定义相同名称的局部变量,否则使用的就是局部变量了。
可以在外部定义结构体类型,然后在主函数内部定义该类型的变量。在输入输出函数调用时,以结构体变量指针做为参数传递。
参考代码如下:
#include stdio.h
struct test
{
int a;
};//定义结构体类型struct test。
void input(struct test* p)//输入函数,以指针作为参数。
{
scanf("%d",p-a);
}
void output(struct test *p)//输出函数,以指针作为参数。这里也可以以结构体变量作为参数,不过用指针效率更高。
{
printf("%d\n", p-a);
}
int main()
{
struct test v;//定义结构体变量v。
input(v);//输入。
output(v);//输出。
return 0;
}
以形参的形式放入函数体进行操作,只需要将形参和实参类型匹配就可以了。比如a[i].riqi.year是int型,那么你的函数就可以写成void
fun(int
i)。
C语言中的结构体可以定义一些复杂数据类型,把一些有内在联系的不同变量放在一起封装成一个整体,这就是结构体。
例如:以学生为例,学生存在学号,姓名,性别,班级等。此时你可以顶一个结构体,将这些学生信息封装到一个结构体中。
code如下:
struct student{
int iID //学生的学号
char sStuName[10] //学生姓名
char sSex[10] //学生性别
....
}
扩展资料
C语言结构体在函数中的应用
typedefstructtagSTUDENT{
charname[20];
intage;
}STUDENT;
voidfun(STUDENTstu)
{
printf(“stu.name=%s,stu.age=%d/n”,stu.name,stu.age);
}