北京交通大学计算机程序设计基础课件:结构体与共用体.pptVIP

  • 3
  • 0
  • 约2万字
  • 约 100页
  • 2019-05-06 发布于广东
  • 举报

北京交通大学计算机程序设计基础课件:结构体与共用体.ppt

第11章 结构体和共用体 主讲 北京交通大学计算机学院 赵宏 E-mail: zhaohong67@163.com 第一节 结构体与共用体概述 第二节 结构体类型和结构体变量的定义 第三节 结构体类型变量的引用 第四节 结构体与数组 第五节 结构体与指针 第六节 结构体的应用--链表 第七节 共用体 第八节 使用typedef定义数据类型 第一节 结构体与共用体概述 结构体 构造一个结构体类的数据类型的一般形式: struct 结构类型名 { 类型标识符 成员名; 类型标识符 成员名; : 类型标识符 成员名; }; 共用体 构造一个共用体类的数据类型的一般形式: union 共用体类型名 { 类型标识符 成员名; ... 类型标识符 成员名; }; 例如: union data { int i; char c; float f; }; 第二节 结构体类型和结构体变量的定义 定义结构体类数据类型变量的三种形式 结构体类数据类型变量的初始化 形式一 先构造结构体类的数据类型,后定义具有这种构造的变量。 struct 结构体类型名 { 类型标识符 成员名; : 类型标识符 成员名; }; struct 结构体类型名 变量名1,变量名2...; 形式二 在构造结构体类的数据类型时同时定义具有这种结构的变量。 struct 结构体类型名 { 类型标识符 成员名; : 类型标识符 成员名; }变量名1,变量名2,...; 形式三 利用无名结构体类型定义变量。 struct { 类型标识符 成员名; : 类型标识符 成员名; }变量名1,变量名2,......; 变量的初始化 struct stud { long num; char name[20]; char sex; char addr[30]; }stud1={9708,”Liwei,F,144BeijingRoad”}; 说明 结构体的类型不分配存储单元,用结构体类数据类型定义的变量会分配存储空间; 对结构体中的成员,可以单独使用,它的作用与地位相当于普通变量; 一个结构体的成员名字不能相同,但两个结构体中可以使用同名成员,成员名也可以与程序中的变量名相同,二者代表不同的对象; 成员也可以是一个结构体变量(嵌套)。 例如: struct date { int month; int day; int year; }; struct student { char name[20]; struct date birthday; char sex; char addr[30]; long number; }stud; 第三节 结构体类型变量的引用 1、对结构体变量的使用是通过对数据类型为基本类型的成员的引用来实现的。引用结构体成员的一般形式如下: 结构变量名.成员名 例如 stud1.age=18; 其中的圆点符号称为成员运算符,它的运算级别最高。 3、用“”运算符可以取结构体变量的首地址和某个成员的首地址。例如: printf(“%d\n”,stud); scanf(“%c\n”,stud.sex); scanf(“%d\n”,stud.birthday.month); 对数组成员的首地址,可以省略地址运算符,如: scanf(“%s”,); 4、对成员变量可以象普通变量一样进行各种运算,例如: sum=stud.score[0]+ stud.score[1]+ stud.score[2] 结构体变量的输入和输出 C语言不允许把一个结构体变量作为一个整体进行输入或输出的操作。例如: struct { long num; char name[20]; } stud; 不允许 scanf(%d,stud); printf(%d,stud); 可以用 scanf(%ld%s,stud.num,); printf(%ld,%s, stud.num,

文档评论(0)

1亿VIP精品文档

相关文档