欢迎来到天天文库
浏览记录
ID:40238659
大小:631.00 KB
页数:26页
时间:2019-07-28
《C/C++程序设计教程 C语言程序设计6》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第六章构造数据类型基本类型构造类型派生类型整型int结构体struct数组类型字符型char共用体(联合)型union指针类型实型float枚举型enum双精度型Double用户定义类型typedef空值型void构造数据类型(导出类型):由基本数据类型按一定规则组合而成的。广义上包括表中的构造类型和派生类型。同一类型数据的顺序排列类型不同但相互关联9/14/20212《C与C++程序设计教程》-第六章6.1结构体6.2共用体6.3位字段6.4枚举类型6.5用typedef定义类型退出9/14/20213《C与C++程序设计教程》-第六章
2、6.1结构体结构体类型结构体类型变量(结构体变量)结构体的成员(成员):组成结构体的每个数据。6.1.1结构体类型定义6.1.2结构体变量说明6.1.3结构体变量的使用6.1.4结构体变量的初始化6.1.5结构体数组6.1.6结构体和函数返回9/14/20214《C与C++程序设计教程》-第六章struct[结构体类型名]{类型名结构体成员名;/*成员表*/……};6.1.1结构体类型定义[例6.1]描述通讯录的结构体类型。structperson{charname[20];intage;charsex;charaddress[100];
3、longzipcode;};[例6.2]结构体类型的嵌套定义。structbirthday{intyear;intmonth;intday;};structperson{charname[20];structbirthdaydate;charsex;charaddress[100];longzipcode;};类型名成员变量名返回9/14/20215《C与C++程序设计教程》-第六章6.1.2结构体变量定义间接定义直接定义无名定义typedef定义structbirthday{intyear;intmonth;intday;};struc
4、tperson{charname[20];structbirthdaydata;charsex;charaddress[100];longzipcode;};structpersonp;struct结构体类型名{成员表;};struct结构体类型名变量名表;先定义类型,后单独定义变量。在类型定义之后立即定义变量。struct结构体类型名{成员表;}结构体变量名表;structbirthday{intyear;intmonth;intday;};structperson{charname[20];structbirthdaydata;cha
5、rsex;charaddress[100];longzipcode;}p;定义一个无名结构体类型,直接定义变量。struct{成员表;}结构体变量名表;structbirthday{intyear;intmonth;intday;};struct{charname[20];structbirthdaydata;charsex;charaddress[100];longzipcode;}p;[例6.3]求结构体类型(或结构体变量)的字节数。#defineNAMESIZE20#defineADDRSIZE100structbirthday{i
6、ntyear;intmonth;intday;};structperson{charname[NAMESIZE];structbirthdaydate;charsex;charaddress[ADDRSIZE];longzipcode;};main(){structpersonp;printf("theplength:%d",sizeof(p));printf("thestructpersonlength:%d",sizeof(structperson));}Theplength:131Thestructpersonlength:
7、131结构体变量的存储结构:对结构体变量成员顺序分配存储空间。返回9/14/20216《C与C++程序设计教程》-第六章6.1.3结构体变量的使用结构体一般不能作为一个整体参加数据处理,而参加各种运算和操作的是结构体的各个成员项数据。对成员的使用方式:结构体变量名.成员名注:相同结构体类型的变量可以相互赋值。p.zipcode=130022;p.date.year=1980;structpersonp1,p2;p1=p2;返回9/14/20217《C与C++程序设计教程》-第六章6.1.4结构体变量的初始化间接初始化直接初始化无名初始化[
8、例6.4]结构体变量的初始化。#defineNAMESIZE20#defineADDRSIZE100structbirthday{intyear;intmonth;intday;};struc
此文档下载收益归作者所有