网站大量收购独家精品文档,联系QQ:2885784924

数组为相同类型的变量描述与使用带来了方便如果数组元素是一个.pptx

数组为相同类型的变量描述与使用带来了方便如果数组元素是一个.pptx

  1. 1、本文档共56页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

数组为相同类型的变量描述与使用带来了方便,如果数组元素是一个结构体变量,那么此数组被称为结构体变量,本节将介绍结构体变量及其应用。在使用过程中,对于相同类型的变量可以用数组进行描述,例如描述多个学生信息的变量,可以用数组进行描述。如果学生数组的每个元素是一个结构体变量,则该数组就可以表示多个学生的信息。这样的数组叫结构体数组。7.3结构体数组

7.3.1结构体数组的定义与初始化1、结构体数组的定义结构体数组的定义只是结构体变量定义的特殊情况,因此定义的方法与结构体变量定义相同,有如下三种定义方法。(1)第一种形式,先定义结构体类型,然后再定义结构体类型的数组。例如:structstu_record //定义一个结构体类型{intnum;charname[10];……};structstu_recordstu[10]; //定义一个结构体数组,含10个structstudent类型的元素

(2)第二种定义方法,在定义类型的同时定义一个结构体类型的数组。例如:structstu_record{intnum;charname[20];……}stu[10]; //定义类型的同时定义一个数组(3)第三种形式,直接定义一个结构体类型的数组。例如:struct{intnum;charname[20];……}stu[10]; //直接定义一个结构体类型的数组

2、结构体数组的初始化结构体类型数组的初始化遵循基本数据类型数组的初始化规律,在定义数组的同时,对其中的每一个元素进行初始化。例如:structstud{ intnum;charname[10];intage;floatscore;}stu[2]={{10,“Zhangsan”,19,98.5},{13,“Ligao”,18,96.5,}};

如果在定义数组的同时进行初始化,可以省略数组的长度,系统会根据初始化数据的多少来确定数组的长度。例如:structtask_finished{chartask[20];chartag;}task_F_or_T[]={{“exer1”,“F”},{“exer2”,“T”},{“exer3”,“F”}};结构体数组task_F_or_T的长度,系统自动确认为3。

注意:初始化是在定义的时候完成的,非定义时只有重新赋值,不能初始化!例如:structstudent{intnum;intage;floatscore};structstudentboy[2];boy[0]={102,19,96.5};boy[1]={103,18,95.5};……这时程序编译时会出错,原因是:结构体数组boy[2]的定义在语句structstudentboy[2]时已完成,因此boy[0]={102,19,96.5}和语句boy[1]={103,18,95.5}就不能看成是初始化,它是重新赋值,C语法是禁止结构体这样赋值的!这时程序编译时会出错,原因是:结构体数组boy[2]的定义在语句structstudentboy[2]时已完成,因此boy[0]={102,19,96.5}和语句boy[1]={103,18,95.5}就不能看成是初始化,它是重新赋值,C语法是禁止结构体这样赋值的!

7.3.2结构体变量的使用(1)结构体变量的成员使用方式结构体变量名.成员名如:stu[i].nmu、stu[i].name、stu[i].agestu1.nmu、stu1.name、stu1.agestu2.nmu、stu2.name、stu2.age结构体变量的成员按照它的简单变量类型的使用方法直接使用。【例7-5】用键盘输入的方法给学生结构体变量赋值,并打印学生信息.typedefstructstudent//定义结构体类型{charnum[10];charname[20];intage;}stud;

voidmain(){inti=0;studstu[2];//定义结构体变量数组printf(学号姓名年龄\n);for(i=0;i2;i++)scanf(%s%s%d,

文档评论(0)

vermonth134 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档