- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自定义数据类型
结构体
结构体是程序员在程序中自定义的一种数据类型,在说明和使用之前必须先定义它,也就是构造它。定义一个结构体的语法格式如下:
Struct 结构体类型名
{
成员1的数据类型名 成员1名称;
成员2的数据类型名 成员2名称;
.
.
成员n的数据类型名 成员n名称;
}结构体变量表={成员初始化};
注意成员可以由若干个不同的数据类型组成,每个成员也可以是结构体,即可以嵌套定义。
例如:
Struct student
{
Long num;
Char name;
Char sex;
Float score;
};
已经定义的某种结构体类型可以视为一种标准的数据类型,它的使用方法与标准数据类型使用方法相同,可以用来定义变量、数组、指针。
结构体变量说明
结构体变量的说明在程序的变量说明部分给出,一般在结构定义之后,它的语法格式如下:
Struct 结构类型名 结构变量名表;
例如:
Struct student stu;
指出了结构变量stu是student类型的变量,它由四个成员组成,每个成员的数据类型和名字都与student结构定义中给出的相同。系统完全按照结构定义时制定的内存模式为结构变量分配内存空间。
可以在定义结构体类型的同时给出结构体变量。
Struct student
{
Long num;
Cha name[20];
Cha sex;
Float score;
}stu1,stu2;
这种形式与前面给出的结构定义和结构说明分开处理效果相同。
结构体成员访问
结构体成员是通过结构体变量名和成员名进行访问的,不能把他作为一个整体进行访问。其访问格式如下:
结构体变量名.成员名
其中运算符.是成员访问运算符,其运算级别是最高的,和圆括号运算符()、下标运算符[]是同一级别的。如果结构体成员是指针变量,则访问格式为:
*stu1.name
如果某个结构体变量的成员数据类型又是一个结构体,则访问方式为:
外层结构体变量名.外层成员名.内层成员名
可以在定义结构体变量的同时对结构体变量初始化。
{结构体成员}结构体变量={初始数据};
struct student
{
long num;
char name[20];
char sex;
float score;
} stu1={200401L,ZhangHong,f,92.5f};
对于嵌套的结构体类型数据,访问格式为:
结构体变量名1.结构体变量名2.成员名
结构体变量初始化的格式如下:
struct 结构体名
{结构体成员}结构体变量={初始数据};
初始数据类型必须与结构成员的数据类型相匹配,并且先后顺序一一对应赋值。
要对结构体变量的成员地址进行访问,其语法格式为:
结构体变量.成员名
当一个指针变量用来指向一个结构变量时,称为结构体指针变量。结构体指针变量中的值是所指向的结构体变量的首地址。
结构体指针变量:
Struct 结构名 *结构体指针变量名
Struct student *pstu;
必须先赋值后使用,把结构体变量的首地址赋给指针变量,不能把结构名或结构体变量名赋给指针变量。
pstu=stu1;
结构体名和结构体变量是两个不同的概念,结构体名只能表示一个结构形式,编译系统并不对它分配内存空间,只有当某变量被说明为这种类型的结构时,才对该变量分配存储空间。这是因为结构体变量被定义后相当于标准数据类型被使用。
利用结构体指针变量访问成员如下:
(*结构体指针变量).成员名
或者:
结构体指针变量-成员名
后一种形式较为方便,容易区分。
三种访问结构体成员的方式:
结构变量。成员名
(*结构指针变量)。成员名
结构指针变量-成员名
结构体与数组
相同结构的结构体变量组成的数组,简称结构数组。
Struct student
{
Long num;
Char name[20];
Char sex;
Struct birthday bir;
Float score;
}students[35];
上面定义了一个结构数组students,共35个元素,students[0]~students[34]。每个数组元素都具有struct student的结构形式,用来描述一个学生的相关信息。结构数组名students表示该数组存储的首地址。
结构数组在说明的同时也可以对它进行初始化赋值。语法格式如下:
Struct 结构体名 结构数组名[数组长度]
={初始数据};
与其他数组一样,结构体数组的元素也可
您可能关注的文档
- COM原理和应用----COM对象和接口.doc
- Auto_CAD_2012常见的设置问题与解决方案.docx
- 介词、连词、语气词课件.doc
- 电器清洁知识幻灯片.doc
- 第6章 JAVA词汇.docx
- 企业走向和谐的关键:宽恕领导力.doc
- 构造函数的声明与方法调用.doc
- VFP试卷与答案6.doc
- 人流咨询话术课件.doc
- 计算机英语缩写与常用快捷键.doc
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
文档评论(0)