第7章节 结构体与链表.pptVIP

  • 0
  • 0
  • 约6.65千字
  • 约 35页
  • 2017-09-14 发布于浙江
  • 举报
第7章节 结构体与链表

第3章 CGI概念和PHP程序设计基础 80- 第7章 结构体与链表 7.1 结构体的引出 7.2 结构体变量 7.3 结构体数组 7.4 结构体类型的指针变量 7.5 结构体与函数 7.6 链表 7.7 共用体与枚举类型 7.8 类型定义符typedef的用法 7.1 结构体的引出 在程序里表示一个人(学号、姓名、年龄、……),怎么表示? 想表示多个人呢? 如何用计算机程序实现下述表格的管理? 简单变量(整型、字符型、实型) 数组 具有相同类型的变量组成的集合 指针 用于动态分配,参数传递 结构体 由不同类型的变量组成。 每个变量称为结构体的成员项。 这些变量在内存中占据连续的空间。便于有规则的处理,也充分体现了数据之间的内在联系。 结构体类型的定义 struct 结构体类型名 { 类型名1 成员名表1; 类型名2 成员名表2; … 类型名n 成员名表n; } 结构体类型说明 结构体类型: 结构体的类型举例 例:某人生日(1983年12月2日) 结构体类型所占的字节 所占字节:是结构体中每个成员所占存储空间之和。 结构体类型所占的字节 结构体的嵌套 结构体的嵌套:在结构体中又包含一个结构体。 7.2 结构体变量——定义 1.先定义好结构体类型,再定义变量 struct student { char name[20]; char sex; float sc[3]; }; struct student s , t; 2.定义结构类型的同时定义变量 3.说明一个无名结构体类型,直接进行变量的定义 结构体变量的引用和初始化 结构体变量名.成员项名 【例7.1】对结构体变量赋值并输出其值。 结构体变量初始化 同类型结构体变量之间的赋值 例7.2. 结构体变量的初始化。 struct date { unsigned int year; unsigned int month; unsigned int day;}; struct person { char name[12]; struct date birthday; float wage;}; void main() { struct person a={ 李立, 1975, 8, 12, 3256.78}; struct person b={ 张红 }; printf( 姓名:%s, , b.name); printf( 出生日期: %d.%d.%d, , b.birthday.year, b.birthday.month, b.birthday.day); printf( 工资:%8.2f\n , b.wage); b.birthday=a.birthday; b.wage=3186.45; printf( 姓名:%s, , b.name); printf( 出生日期:%d.%d.%d, , b.birthday.year, b.birthday.month, b.birthday.day); printf( 工资:%8.2f\n , b.wage); } 对学生问题的处理 7.3 结构体数组 7.3.2 结构体数组的初始化 struct stu { int num; char name[12]; int score; }; struct stu st[3]={{2009001, 赵岩, 86}, {2009002, 王洋, 92},{2009003,李玲, 78}}; 7.3.3 结构体数组的使用 7.4 结构体类型的指针变量 【例7.4】结构体指针变量的使用。 #includestdio.h struct stu { int num; char name[20]; int score; }; void main() { struct stu boy1={2009001,赵岩, 86},*p; p=boy1; printf(学号=%d\n, boy1.num); printf(姓名=%s\n, (*p).name); printf(成绩=%d\n, p-score ); } 7.4.2 指向结构体数组的指针 1. 定义 struct student a[3] , *p ; 2. 使用 for (

文档评论(0)

1亿VIP精品文档

相关文档