c语言结构体详解(C语言结构体问题(求讲解,每条语句))
本文目录
C语言结构体问题(求讲解,每条语句)
#include《stdio.h》
//,头文件
#include《string.h》//头文件
#define
N
10
//宏定义
typedef
struct
{
char
num,name;//两个字符数组,
float
sub1,sub2,sub3;//三个浮点数。
}STU;//这是个结构体,并且在此将STU定义成了这个结构体;
void
sort(STU*st)//sort()函数。参数为指向结构体的指针。
{
STU
tmp;//定义了一个名为tmp的结构体,
int
i,j;//定义了两个整型变量i,j;
for(i=0;i《N-1;i++)//
for(j=i;j《N;j++)//
if((st[i].sub1+st[i].sub2+st[i].sub3)《(st[j].sub1+st[j].sub2+st[j].sub3))//if括号内的条件满足则执行下面的语句块,
{tmp=st[i];
st[i]=st[j];
st[j]=tmp;
//这是冒泡法排序,语句块是用来交换的
}
}
void
main()//主函数。
{
STU
s[N];//定义了一个结构体类的数组s[N];
int
i;//定义了一个整型变量i;
for(i=0;i《N;i++)//for循环,次数为N次,
{
scanf(“%s%s%f%f%f“,s[i].num,s[i].name,&s[i].sub1,&s[i].sub2,&s[i].sub3);//输入数据,
printf(“\n“);//输入出换行符,
}
sort(s);//调用函数sort()
for(i=0;i《N;i++)
{
printf(“%s
%s
%f
%f
%f\n“,s[i].num,s[i].name,s[i].sub1,s[i].sub2,s[i].sub3);//循环输出N个的信息,
}
}
什么是C语言结构体
结构体就像数组一样,其中的数据是有互相联系的,有些情况下定义一些简单的变量是不能反映出数据之间的内在联系,所以我们就把这些数据组合成一个项,而这个项中包含着很多不同的数据项,这就是结构体。
简单理解下,就是说把一些有内在联系的不同变量放在一起封装成一个整体,这就是结构体。(课课家c语言入门到精通)
c语言结构体定义和使用是什么
C语言结构体定义:
结构体是一种构造数据类型(也称复杂数据类型),由若干不同类型的变量(数据)组成。每个变量都是结构体的成员(member),每个成员可以是基本数据类型,也可以是构造类型。
结构变量的使用:
结构是一个新的数据类型, 因此结构变量也可以象其它类型的变量一样赋值、 运算,不同的是结构变量以成员作为基本变量。结构成员的表示方式为: 结构变量,成员名。
注意事项:
1、struct是声明结构体类型时必须使用的关键字,不能省略。“结构体”这个词是根据英文单词structure译出的。
2、structSTUDENT是定义的数据类型的名字,它向编译系统声明这是一个“结构体类型”,包括name、num、sex、age、score、addr等不同类型的项。
3、structSTUDENT与系统提供的int、char、float、double等标准类型名一样,都是数据类型,具有同样的作用,都是用来定义变量的。
C语言结构体类型
在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
在C语言中,定义一个结构的一般形式为:
struct结构名
{
//成员表列
};
成员表由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:“类型说明符 成员名;”。成员名的命名应符合标识符的书写规定。例如:
struct stu
{
int num;
char name;
char sex;
float score;
};
在这个结构定义中,结构名为stu,该结构由4个成员组成。 第一个成员为num,整型变量;第二个成员为name,字符型数组;第三个成员为sex,字符型变量;第四个成员为score,浮点型变量。 应注意在括号后的分号是必不可少的。
然后,当结构定义完成后,即创建了一种数据类型,可以像int、float等内置类型一样使用,以上面定义的stu结构体来和int类型对比着看。
int a;//定义一个int类型的变量a
stu a; //定义一个stu类型的变量a
int *p; //定义一个int类型的指针p
stu *p; //定义一个stu类型的指针p
int a;//定义一个int类型的数组a,它有10个元素,每个元素是int类型
stu a;//定义一个stu类型的数组a,它有10个元素,每个元素是stu类型。
C语言 结构体定义
第一种是定义一个结构体并取个student结构体名,下次定义结构体是:
只要:student
《标识符》;
乳student
stu;
而第二种:必须这样定义:struct
student
stu;
更多文章:
eraser下载(求数据彻底删除软件DoYourData Super Eraser Mac版)
2023年12月31日 20:20
奥特曼激斗传1 5无敌版(奥特曼激斗传无敌版怎么打出迪迦、戴拿和赛罗)
2024年6月24日 03:48
世界杯直播app(请问大神谁知道世界杯直播app有哪些,大神解答,急急)
2024年5月8日 08:55
大型赛车游戏手机版(推荐一个手机游戏!赛车的!不用账号的!内存不要太大!)
2024年7月24日 14:13
下载滴滴出行最新版(滴滴出行app下载安装安卓版怎么下载什么地方可以下载)
2024年7月15日 19:36
冒险岛里面黑暗契约书的任务是交给谁的在哪里的?黑暗之魂2黑暗契约路线
2024年5月2日 04:16