C语言程序设计第7章结构体与链表枚举类型..ppt

C语言程序设计第7章结构体与链表枚举类型..ppt

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

链表 例7-8 建立5个员工的链表,并对链表进行遍历、查找、插入和删除操作。 4、增加某个结点 s=(Employee*)malloc(sizeof(Employee)); s-ID=id; s-salary=sala; s-next=p-next; p-next=s; C语言程序设计 第7章 结构体与链表 第7章 结构体与链表 学习目的与要求: 理解并掌握结构体的定义和应用 掌握类型定义符typedef的使用方法 理解并掌握链表的定义与使用方法 了解共用体的定义及使用方法 了解枚举变量的使用方法 基本内容 链表 结构体 类型定义符typedef 本章小结 枚举类型 共用体 结构体 结构体是程序员根据需要定义的一种数据类型。组成结构体的数据称为结构体的成员,这些成员来共同描述一个相关的对象。 struct structureName{ type member1; type member2; … }; struct Person{ char name[20]; char sex; int age; int height; }; 结构体 由于结构体是程序设计者声明的一种数据类型,是对具体实例的抽象,所以在声明一个结构体时,不要实例化,即不要对成员赋初值。 struct Point { int x=0; //error 无法存储x. int y=0; //error }; 结构体 结构体成员除基本数据类型外,还可为指针或结构体类型。 struct Date{ int year; int month; int day; }; struct Person1{ char *name; //指针类型 struct Date birthday; //结构体类型 int height; }; 结构体类型变量的定义 (1)先定义结构体类型,再定义结构体变量。 struct Person ps1,ps2; (2)在定义一个结构体类型的同时,定义结构体变量。 struct Point{ int x; }pt; (3)直接定义结构体变量,省略结构体名称。 struct { int x; }pt; 结构体类型变量的定义 (1)结构体类型与结构体变量是两个不同的概念,只能对结构体变量赋值、存取或运算,但不能对结构体类型赋值、存取和运算。 (2)在编译时,系统根据结构体所有成员的大小只对变量分配存储空间,而声明类型时不分配空间。 (3)结构体类型中的成员名可以与程序中的变量名同名,但它们表示不同的对象。例如在结构体struct Person中的成员“age”与程序中的变量“age”名字相同,意义不同。 结构体成员的访问 结构体变量名.成员名 struct Point pt; pt.x=0; //给结构体变量pt的成员赋值 printf(x=%\n, pt.x); //输出x的值 结构体成员的访问 例7-1 对一个人的信息(姓名和生日)进行操作。 解题思路:首先定义生日结构体类型,包括出生年、月、日,再定义“人”的结构体类型,包括姓名和生日。定义“人”结构体变量,对其进行赋值并输出。 #includestdio.h #includestring.h struct Date{ int year; int month; int day; }; struct Person1 { char name[20]; struct Date birthday; }; struct Person1 ps1={Zhang,{1988,11,20}},ps2; printf(输入相关信息(姓名和出生年月日):\n); scanf(%s,ps1.name); //输入姓名 scanf(%d%d%d,ps1.birthday.year, ps1.birthday.month, ps1.birthday.day); ps2 =ps1; strcpy(ps2.name,李四); ps2.birthday.day+=8; printf(输出人的相关信息:\n); printf(姓名:%s\n生日:%d-%d-%d\n,ps1.name,ps1.birthday.year, ps1.birthday.month,ps1.birthday.day); printf(

文档评论(0)

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

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

1亿VIP精品文档

相关文档