- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
快速学习数据结构中的指针和结构
;指针;自定义数据类型;;问题一:学籍管理;解决办法;另一个例子;定义一个结构体类型;结构体变量的定义
先定义结构体类型,再定义结构体变量
一般形式: ;说明
结构体类型与结构体变量概念不同
类型:不分配内存; 变量:分配内存
类型:不能赋值、存取、运算; 变量:可以
结构体的成员可以是一个结构变量
结构体可嵌套
结构体成员名与程序中变量名可相同,不会混淆
结构体类型及变量的作用域与生存期;诸如学生花名册、通讯录之类的数据,最适合用结构体来处理。因为这类数据具有如下特点:
每个人信息都是一个复合的构造数据,如由姓名、学号、性别、年龄、家庭住址、联系电话等“成员”组成。
不同的人,数据的值不同,但都有共同的成员组成。;;9.3 结构体变量的引用
引用规则
结构体变量不能整体引用,只能引用变量成员
;结构体变量的初始化
形式一:;
struct 结构体名
{
……
类型标识符 成员名;
……
} ; ;用户自己定义的构造型数据类型;
由若干数据项(成员)组成;
同一结构体中的成员可以具有不同的数据类型;
结构体类型变量占用的内存长度等于各成员项长度之和。
;使用结构体的一般步骤;main()
{
struct student
{
int number;
char name[6];
char sex;
int age;
char address[20];
} ;
printf(%d\n ,sizeof(struct student));
};main()
{
struct
{
char name[15];
char class[12];
long num;
} stu={Wenli,Computer 1,200113};
printf(%s\n%s\n%ld\n,stu.name,stu.class,stu.num);
};用结构体数组管理一组学生的信息;9.5 结构体数组;9.5.2 结构体数组的初始化
结构数组[n]={{初值表1},{初值表2},...,{初值表n}};;例 2统计侯选人选票。有三个候选人,每次输入一个得票的候选人名,要求最后输出个人得票结果。;9.6 用指针访问结构体;示例9;9.2 指向结构体数组的指针;9.9类型定义(typedef);给已有的数据类型加一个新的别名——提高程序可读性(但未建立新的数据类型)。
一般形式:
typedef 数据类型名 新别名
(已有定义) (习惯用大写)
例
typedef float REAL;
REAL a,b,c;;typedef与#define有相似之处,但二者是不同的:前者是由编译器在编译时处理的;后者是由编译预处理器在编译预处理时处理的,而且只能作简单的字符串替换。;用 法;用 法;几个常用函数;;;
文档评论(0)