结构

结构类型定义:一种可以把一些数据分量据合成一个整体的数据类型。

结构分量:一个结构中包含的数据分量。

例1:输出平均分最高的学生信息

#include<stdio.h>
struct student
{
int num;
char name[10];
int math,english,computer;
double average;
};
int main()
{
int i,n;
struct student stu,max;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&stu.num);
scanf("%s",stu.name);
scanf("%d",&stu.math);
scanf("%d",&stu.english);
scanf("%d",&stu.computer);
stu.average=(stu.math+stu.english+stu.computer)/3.00;
if(i==1)
{
max=stu;
}
else if(max.average<stu.average)
{
max=stu;
}
}
printf("num:%d,name:%s,average:%.2lf\n",max.num,max.name,max.average);
return 0;
}

注:结构变量可以通过结构成员操作符“.”对其某个成员进行引用,如stu.average,max.average,如果两个变量类型相同,可直接对其赋值,如max=stu,即将一个变量的所有成员值都赋值给另一个结构变量。

struct student
{
int num;
char name[10];
int math,english,computer;
double average;
};

大括号中所有内容构成stuct student的结构数据类型。

结构类型定义的一般形式:

struct 结构名{

类型名 结构成员名 1;

类型名 结构成员名 2;

···

类型名 结构成员名 n;

};

其中struct是定义结构类型的关键词。

结构变量的定义和初始化:

1,单独定义:

单独定义指先定义一个结构类型,再定义这种类型的变量。

注:关键字struct和结构名student必须联合使用。

2,混合定义:

混合定义指定义结构类型的同时定义结构变量。

3,无类型名定义:

无类型名定义指在定义结构变量时省略结构名。

注:结构类型变量的储存布局按其类型定义中成员的先后顺序排列,通常一个结构类型变量所占的内存空间是其各个成员所占内存空间之和。

结构数组是结构与数组的结合体,与普通数组的不同之处在于每个数组元素都是一个结构类型的数据,包括多个成员项。

定义:例:

struct student students[50];

posted @ 2021-11-28 19:44  555666789yj  阅读(306)  评论(0编辑  收藏  举报