您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言程序设计第四版PPT 谭浩强
“函数”习题讲解函数编写应注意的问题——模块划分的原则:P.203功能要单一,相互影响尽量少。例7.17是个不好的程序。初学者常见的习惯:输入、输出与数据处理运算放在一个函数中。关于数组(的首地址)作为函数的形参:P.195数组的大小是否指定全无影响。通常会定义一个整型的参数,接收实参数组的大小。第9章用户建立的数据类型本章内容9.1结构体类型和结构体变量9.2结构体数组9.3结构体指针9.4用指针处理链表9.5共用体类型9.6枚举类型9.7用typedef命名类型9.1结构体(Structure)概念不同类型的相关数据组合成一个整体,以便引用。例:电话本程序P.297例9.19.1结构体(1)定义结构体类型struct结构体名{成员表列};类型名成员名;类型名成员名;类型名成员名;基本类型(intnum)数组(charname[])结构体类型(structDatebirthday)指针类型(structStudent*next)通常首字母大写member成员field域9.1结构体(2)定义结构体类型的变量struct结构体名变量名1,变量名2,…;9.1结构体(2)定义结构体类型的变量亦可在定义结构体的同时定义结构体类型的变量,通常只在小程序中用;struct结构体名{成员表列}变量名1,变量名2,…;9.1结构体(2)定义结构体类型的变量也可以不定义结构体类型的名称而直接定义结构体类型变量,极少用(P.296)struct{成员表列}变量名1,变量名2,…;9.1结构体(2)定义结构体类型的变量并初始化可在定义结构体类型的变量时对该变量(的成员)进行初始化struct结构体名变量名={值1,值2,…};也可以只对一部分成员进行初始化,未初始化的成员被设为0(P.297最后5行)9.1结构体(3)引用结构体类型的变量访问结构体变量的元素结构体变量.元素同类结构体类型变量互相赋值变量1=变量2相当于逐个元素赋值(P.298(5))不能对整个结构体类型变量输入、输出9.1结构体一个简单的例子structTeacher{charid[4];charname[10];intage;charcourse[20];};structTeachert1={0324,Li,40,CLanguage},t2={1728,Hu,30,DataStructure};printf(%steaches%s\n,t1.name,t1.course);printf(No:%steaches%s\n,t2.id,t2.course);t1=t2;9.1结构体一个简单的例子structTeacher{charid[4];charname[10];intage;charcourse[20];}t1,t2={1728,Hu,30,DataStructure};strcpy(t1.id,0324);strcpy(t1.name,Li);t1.age=40;strcpy(t1.course,CLanguage);printf(%steaches%s\n,t1.name,t1.course);printf(No:%steaches%s\n,t2.id,t2.course);9.2结构体数组例子修改——结构体类型数组structTeacher{charid[4];charname[10];intage;charcourse[20];}teac[2];inti;strcpy(teac[0].id,0324);strcpy(teac[0].name,Li);teac[0].age=40;strcpy(teac[0].course,CLanguage);strcpy(teac[1].id,1728);strcpy(teac[1].name,Hu);teac[1].age=30;strcpy(teac[1].course,DataStructure);for(i=0;i2;i++)printf(%steaches%s\n,teac[i].name,teac[i].course);9.2结构体数组例子修改——结构体类型数组初始化structTeacher{charid[4];charname[10];intage;charcourse[20];}teac[2]={{0324,Li,40,CLanguage},{1728,Hu,30,DataStructure}};inti;for(i=0;i2;i++)printf(%steaches%s\n,teac[i].name,teac[i].course);9.3结构体指针首先明确概念:结构体类型变量的首地址指向结构体类型变量的指针变量指向结构体数组元素的指针变量然后了解:通过指向结构体的指针,访问结构体变量的成员,或访问结构体数组元素的成员(例9.5,9.6及P.304格式说明)9.3结构体指针认真阅读教材实例,理解指向结构体和结构体数组的指针变量的用法例9.5通过指向结构体变量的指针变量,访问结构体变量的成员例9.6通过指向结构体数组的指针变量,访问结构体数组元素的成员例9.7以结构体变量作为实参和形参的函数定义与调用9.4链表有序数据的两种存储结构线性结构:物理上连续地存储——不易扩展链表结构:每个数据项后面有个指针,指向下一个数据项的地址链表需要用指向结构体变量的指针来访问structStudent{intnum;floatscore;structStundent*next;}9.7声明新类型名当类型名太长或太复杂时,使用typedef重新声明类型名(不是“定义类型”),相当于别名,使程序简洁。例:typedefintInteger;Integeri=8;typedefstructTeacherteach;teachteac[2];typedefstructTeacher{……}teach;teachteac[2];
本文标题:C语言程序设计第四版PPT 谭浩强
链接地址:https://www.777doc.com/doc-3375563 .html