阀门行业网站怎么做,科凡官网,谷歌怎么推广自己的网站,永嘉网站制作结构体的引入
1、概念#xff1a;结构体和其他类型基础数据类型一样#xff0c;例如int类型#xff0c;char类型#xff0c;float类型等。整型数#xff0c;浮点型数#xff0c;字符串是分散的数据表示#xff0c;有时候我们需要用很多类型的数据来表示一个整体#x…结构体的引入
1、概念结构体和其他类型基础数据类型一样例如int类型char类型float类型等。整型数浮点型数字符串是分散的数据表示有时候我们需要用很多类型的数据来表示一个整体比如学生信息。类比与数组: 数组是元素类型一样的数据集合如果是元素类型不同的数据集合就要用到结构体了。结构体可以让不同数据类型同时存在将不同类型的数据存放在一起作为一个整体进行处理。
2、声明方式在主函数外以首先使用一个关键字struct使其接下来表示一个结构体其次后面跟着一个名称(名称可随意定义)为此来创建数据对象。(结尾记得加分号不然会报错)
3、使用方式在主函数内用标准结构struct主函数外定义的名称任意名称(这里的名称是分类出数值不同的角色)给结构体赋值是任意名称.数据对象(这里的点运算符来访问结构体中的成员变量域)也可以直接在标准结构struct主函数外定义的名称任意名称后加上花括号并对应数据对象进行赋值。
我们以列举学生信息为例展示代码
#include stdio.h
#include string.hstruct Student
{int num;char name[64];int age;double sorce;char add[64];
};int main()
{struct Student stu1;struct Student stu2{2,张三,22,100,北京};stu1.num1;//点运算符来访问结构体中的成员变量域strcpy(stu1.name,李四);stu1.age20;stu1.sorce99;strcpy(stu1.add,深圳);printf(序号是%d名字是%s年龄是%d分数是%lf住址是%s\n,stu1.num,stu1.name,stu1.age,stu1.sorce,stu1.add);printf(序号是%d名字是%s年龄是%d分数是%lf住址是%s\n,stu2.num,stu2.name,stu2.age,stu2.sorce,stu2.add);if(stu1.sorcestu2.sorce){printf(成绩较高的是%d号%s\n,stu1.num,stu1.name);}else{printf(成绩较高的是%d号%s\n,stu2.num,stu2.name);}return 0;
} 结构体与数组结合经典运用---选票系统
代码展示
#include stdio.h
#include string.hstruct XuanMin
{char name[64];int tickets;
};int main()
{struct XuanMin a[3];//三位选手struct XuanMin max;//比较三位选手得票最大值int number 5;//5个人参与投票char tempname[64];//投票的名字int feipiao 0;//没选中的票int i;int j;int c 0;//一个判断逻辑int len sizeof(a)/sizeof(a[0]);for(i 0;i len;i){a[i].tickets 0;printf(请输入第%d个选民的名字:\n,i1);scanf(%s,a[i].name);}for(i 0;i 5;i){c 0;//每次循环让其等于0printf(请输入你要投给谁\n);memset(tempname,\0,sizeof(tempname));//每次清空一下scanf(%s,tempname);//输入选中的选民for(j 0;j len;j){if(strcmp(tempname,a[j].name)0)//选民与选手匹配票数递增{a[j].tickets;c 1;//如果匹配后票数增加并等于1}}if(c 0)//还是为0说明没有匹配选手则为没选中的票{printf(没有此选手投票失败\n);feipiao;}}for(i 0;i len;i){printf(名字%s,票数%d\n,a[i].name,a[i].tickets);}maxa[0];//让最大值先等于第一个人for(i 1;i len ;i){if(max.tickets a[i].tickets){max a[i];//将三个人票数最多的赋给最大值}}printf(%s以%d票当选废票是%d\n,max.name,max.tickets,feipiao);return 0;
}