结构体共用体枚举.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
结构体(struct) 一、要点提示 ? ? ? ?13.1.1结构体的概念 ? ? ? ?13.1.2 结构体数组 ? ? ?13.1.3结构体指针 二、内容简介 14.1.1结构体的概念 结构体的定义 结构体变量的存储特点 结构体变量的引用 结构体的初始化 结构体的定义 1、含义:不同类型数据的集合。 2、功能:用于描述一个“概念”。(或记录) 如:num name sex age score addr 10010 LiFun M 18 87.5 BeiJing 3、定义方法: 方法一:在定义结构体类型的同时,直接给出结构体变量。 如: struct 结构体名 { 结构体成员变量的定义; } 变量名1,变量名2,...,变量名n; 方法二:先给出结构体类型的定义,再定义结构体变量。 如: struct 结构体名 { 结构体成员变量的定义; 例: } ; struct 结构体名 变量名1,变量名2,...,变量名n; 方法一: struct student { int number; char name[20]; char sex; int age; float score; char addr[30]; }student1,student2; 方法二: struct student { int number; char name[20]; char sex; int age; float score; char addr[30]; }; struct studentstudent1,student2; 请注意两种方法的不同特点: (1)“;”的用法; (2)方法二可以用一个*.h文件来存储结构体的定义。 4、要点: 结构体名(struct): 用于标识一种新的数据类型,即结构体类型。 注意区分结构体类型与基本数据类型的不同,它是复合数据类型。 结构体成员变量与普通变量的定义一样,它还可以是结构体变量。 struct date {int month,day,year;}; struct student { int num; char name[20]; char sex; int age; struct date birthday; char addr[30]; }student1,student2; 结构体变量的存储特点 如: struct student { int number; char name[5]; char sex; int age; float score; char addr[10]; }student1,student2; struct student所占存储空间的大小为: 各成员变量所占存储单元字节数之和。 结构体类型变量的引用 一、原则:通过结构体的成员来引用结构体变量。 二、成员的引用方法为:结构体变量名.成员名 三、要点: 1.结构体变量不能整体输入输出,只能对它的成员进行操作. 如:student1.num; 2.如果成员本身又是一个结构体类型,则要使用若干个成员运算符,逐级找到最底层的成员. 如:student1.birthday.day 3.成员变量可以象一般的变量一样进行各种运算,只是在运算时要加上“.”运算符. 4.可以引用成员的地址. 结构体变量的初始化 一、只可以给主函数中或外部存储类别和静态存储类别的结构体变量、数组赋初值。 1、对外部存储类型的初始化. 2、对静态存储类型的结构体变量进行初始化 二、给结构体变量赋初值不能跨越前面的成员而只给后面的成员变量赋值。 例exp8_1:对外部存储类型的初始化. struct student { long number; char name[20]; char sex; int age; float score; char addr[30]; }a={99641,”Li Ping”,’M’,”56 Tianjin Street”}; main() { printf(“No.:%ld\nname:%s\nsex:%c\naddress:%s\n”, a.num,a.name,a.sex,a.addr); } 例exp8_2:对静态存储类型的结构体变量进行初始化. main() { static struct student { long number; char name[20]; char sex; int age; float score; char addr[30]; }a={99641,”Li Ping”,’M’,”56 Tianjin Street”}; printf(“No.:%ld\nname:%s\nsex:%c\naddress:%s\n”,a.num,a.name,a.sex,

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档