c语言中在结构体后面加exp,C语言程序设计基础第十单元 结构体与共用体.pptx

第十单元 结构体与共用体;知识目标 掌握结构体类型与结构体变量的定义及结构体的初始化;掌握结构体与数组的关系;掌握结构体指针;掌握共用体类型与共用体变量的定义及共用体的初始化;掌握枚举类型的结构及应用;理解typedef类型定义;了解结构体指针与链表。技能目标会使用结构体处理不同类型的数据使之成为一个对象。;10.1概述;10.2 结构类型与结构变量的定义;说明:(1)struct是结构类型关键字,表示后面的类型是一个结构体类型,不能省略;注意不要忘写花括号外的分号。(2)“结构类型名”和“数据成员名”的命名规则,与变量名相同。(3)1个数据项称为结构类型的1个成员(或分量)。(4)花括号内的成员列表用来说明组成该结构的各个成员,对每个成员应进行类型说明,其说明格式为:数据类型 成员名;;2.结构体类型特点(1)定义一个结构体类型,系统不会为其分配内存单元。(2)结构体类型由多个成员组成,成员的数据类型可以是整型、实型、字符型、数组,也允许是另一个已经定义的结构体类型。(3)结构体类型是根据设计者的需要来组合的。(4)结构体类型系统没有预先定义,凡需要使用结构体类型数据的,都必须在程序中自己定义。 ;struct是类型关键字例如:定义学生档案信息结构类型: struct student student结构体名?{ int num; char name[20];成员表列char sex; int age;float score;分号不能少,表明语句结束char addr[30]; };;3.结构体成员的类型可以是结构体类型 在定义一个结构体类型时,可以利用已定义的另一个结构体类型来定义其成员的类型。例10.1 嵌套结构体类型定义的例子。

struct birthday struct student{ int month; { int num;int day; char name[20] int year; char sex, }; int age; struct birthday; char addr[30]; };结构体类型student的birthday数据项可以是一个已经定义的结构体类型date。;4.声明结构体类型变量(1)先定义结构体类型再定义变量名。 定义了结构体类型structstudent后,可以用它定义变量,如:struct student { char no[7]; char name[9]; char sex[3]; struct date birthday; };;(2)在定义类型的同时定义变量。一般定义形式为:struct 结构体名 {分量表; }变量表;如:struct student { char no[7]; char name[9]; char sex[3]; struct date birthday;}st1,st2;;(3)直接定义结构体类型变量。一般定义形式为:Struct {分量表; } 变量表;在 struct 后不出现结构体名,因此也不能再以此定义相同的结构体变量。如:struct{ char no[7]; char name[9]; char sex[3]; struct date birthday;}st1,st2;;10.3 结构体变量的初始化和引用;如果某成员本身又是一个结构体类型,则只能通过多级的分量运算,对最低一级的成员进行引用。此时的引用格式扩展为:结构体变量名.成员.子成员.….最低1级子成员例如,引用结构体变量st1中的birthday成员的格式分别为:st1.birthday.yearst1.birthday.monthst1.birthday.day说明:(1)对最低一级成员,可像同类型的普通变量一样,进行相应的各种运算。(2)只能对结构体变量的各分量进行输入输出,不能将一个结构体变量直接进行输入输出。(3)分量和结构体变量的地址均可以被引用。如:scanf(”%s”,st1. name); /*(输入st1. name的值)*/ printf(”%x”,&st1); /*(以十六进制输出st1的首地址)*/;2.结构体变量的初始化结构变量={ 初值表 }不同的是:如果某成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值