结构体、共用体及枚举型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结构体共用体枚举
目录
§1 结构体
§2 结构数组
§3 结构指针
§4 结构与函数
§5 共用体
§6 枚举
§7 用typedef定义类型
结构体的组成
wang20 F 10#222
Zhang 19 M 16#321
定义一个通讯录结构* * *
变量完全相同。
main ( ) { char str[20];struct date
{ int
year, month, day; } today; /*结构变量名*/ 举例分析
struct xs
{ unsigned xh;
char *xm;
char xb;
float sx;
} li1=
{1202,“Liming”,’m’,85.5}; main( ) {……}
对静态存储的结构体
变量初始化,其定义
可放
在函数体内
作为结
;
作为数组元素的
基
是一个数组,数组中的每一
都是结构类型。说明结构数组的方法是:先定义一个结构,然后用结构类型说明一个数组变量。
举例分析为记录100个人的基本情况。可以说明一个有100个元素的数组。每个元素的基类型为一个结构,在说明数组时可以写成:
struct person man [ 100 ];
确定的列
体结构,
访问结构数组中
又要遵守
访问
例:struct xs
{ unsigned xh;...... };
struct xs xscj[3]={{…},{…},{…}};
或:struct xs
{ unsigned xh;......
} xscj[3]={{…},{…},{…
}};
二、结构体数组的初始化
课堂作业根据下面定义,能打印出字母M的语句是:
struct person{ char name[9]; int age; };
struct person class[10]={ “W a n g”, 17,
“Z h a n g”,19,
“M i n g”, 18,
结构指针:存放结构类型数据的首地址,该指针可以指§3 结构指针
§3结构指针
一、指向结构变量的指针
main( )
{ struct {"04",90,80}};struct xscj { char *xh;
课堂作业有以下定义语句,则值为6的表达式是:
struct s
{ int k1;
struct s *k2;
};
static struct s a[3]={ 5,&a[1] ,7,&a[2] , 9 ,’\0’}, *ptr; ptr=&a[0];
§4 结构与函数§4 结构与函数
结构在函数间的传递有
三种传递方式
1. 结构成员作为函数的参数传递
2. 结构整体作为函数的参数传递
3. 结构指针作为函数的参数传递
函数参数可以是:常数、变量、数组、指针、字符
也可以是:结构体(传送成批数据)
传递方法:虚实结合、返回值、全局变量
合
一、结构成员的传递
float x,y; main( )
{struct
int i;
总结