- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C程序设计教程第9章
主讲:刘永春 校内邮箱:liuychu@ 办公地点:理工楼4 — 31室 联系电话:(办)6288891 (手机教学内容 9.1 结构体类型和结构体变量 9.2 结构体数组 9.3 结构体指针 9.4 用指针处理链表 9.5 共用体类型 9.6 枚举类型 9.7 用typedef命名类型; 教学要求 1. 掌握结构体类型和结构体变量的定义方法。 2. 掌握结构体变量的使用,掌握结构体数组的应用。 3. 初步掌握单链表的基本操作。 4.掌握共用体变量的定义方法及其引用。 ;9.2 结构体数组; 2. 结构数组的初始化 与普通数组一样结构数组也可在定义时进行初始化。 初始化的格式为: 结构数组[n]= {{初值表1},{初值表2},...,{初值表n}} 例9.4 用结构类型 struct student 定义一个结构体数组stu[3],用于??储和显示三个学生的基本情况。 # include struct.h struct student stu [3]= { {“000102”,“张三”,“男”,{1980,9,20} }, {“000105”,“李四”,“男”,{1980,8,15} }, {“000112”,“王五”,“女”,{1980,3,10} } };; #include stdio.h void main() { int i; /* □表示1个空格字符*/ printf(No.□□□Name□□□□Sex□Birthday\n); for(i=0; i3; i++) { printf(%-7s,stu[ i ].no); printf(%-9s,stu[ i ].name); printf(%-4s,stu[ i ].sex); printf(%d-,stu[ i ].birthday.year); printf(%d-”, stu[ i ].birthday.month); printf(%d\n” , stu[ i ].birthday.day ); } } ;9.3 结构体指针; p为结构体指针变量,它可用来存放student型变量的地址;指针变量 p 指向结构体变量st1,则3种形式等价: (1)st1. 成员 分量运算符左侧的运算对象,只能是结构体变量 (2)p-成员 运算符左侧的运算对象,只能是指向结构体变量(或结构数组)的指针变量 。“-”称为指向运算符。 (3)(*p).成员 (*p)表示p指向的是结构体变量,不得省去括号。 这样就有: st1 .num 等价于 (*p).num 也等价于 p -num。 ; 请注意: p–n 得到p指向的结构体变量中的分量n的值。 p–n++ 等价于(p–n)++得到p指向的结构体变量中的分量n的值,用完该值后加1。 ++p–n 等价于 ++(p – n) 得到p指向的结构体变量中的分量n的值,并在用该值前,先加1。;例9.5指向结构体变量的指针变量应用。 #include “stdio.h” struct student { char number[9]; char name[8]; char department[20]; }; void main() { struct student student1,*p; /* 要在函数体中定义 */ printf(“\n学号:”); gets(student1.number); printf(\n 姓名:”); gets(); printf(“\n 系名:”); gets(student1.department); p=student1; printf(“\n 学号:%s 姓名:%s 所在系: %s”, (*p).number,(*p).name,(*p).department); };4. 结构体变量和指向结构体的指针作函数参数 在函数调用时,可以用结构体变量名做形参
文档评论(0)