正在加载图片...
例子 addr binfo[ 1001 binfo[0]. zip=1234; 3.4.3结构指针 结构作为一种聚合数据类型,其变量是在内存中进行存放的,也有一定的内存地址,因 而也就存在结构变量指针。结构指针可以用来指向任何统一结构类型的结构变量,可以通过 结构指针来访问结构的成员数据 定义结构指针的一般语法结构如下: struct variable* name: o variable*name 同样,对结构指针必须初始化或赋值,使其指向结构变量。对结构指针进行赋值时,需 要将一个结构变量的地址赋给它,即对结构变量进行取址操作或利用其他结构指针对某个类 型匹配的结构指针进行赋值。利用结构指针来对结构的成员数据进行访问的一般形式如下所 structure variable->member name 其中 structure variable是结构变量的名字,而 member name是成员数据的变量名。 例3.6]使用结构指针的例子。(EX36CPP) 3.4.4结构的嵌套 结构的嵌套指的是结构的成员数据中包含其他结构,形成复杂的数据结构在C++中,结 构可以作为其他结构的成员数据。只要在编译器或计算机支持的范围内,结构可以多级地嵌 注意:程序中出现的所有结构,在结构中都必须的定义。 对于结构嵌套的情况,要访问作为某一结构的成员的结构的成员数据,需要进行多级逐 层引用。 例3.7结构嵌套的应用。EX37CPP 3.4.5链表类数据处理 链表是计算机数据处理中常用的一种数据结构。在链表中,各元素具有相似的结构,且 各元素之间依次链接形成民链状的表单结构,且链表的线性顺序连续是逻辑上的,而不是依 赖分配连续存储空间来维持的,因而在物理结构上是灵活的,属于线性动态结构。结构是实 现链表类数据处理的强有力的工具,有很多衫的链表结构都是用结构构造出来的 为了实现通过链表结构中某一元素访问其他元素,即结构变量提供可以指向其他结构变 量的机制,需要使用递归结构类型。在递归结构类型中,结构的成员数据中包含指向该结构 类型本身的结构指针,利用该指针,可以实现对同类型的结构变量的访问 例如,一个集邮爱好者想为他的收藏品建立一个卡片式档案。每张卡片记录一张邮票的 情况,包括邮票名称,尺寸、发行日期、描述信息等内容。以这些要包含的内容作为成员函 数,构成一个结构类型,每张卡片作为一个结构变量来处理,但这些卡片如何组织起来需要 好好考虑一下。如建立结构数组或链表结构,比较而言,链表结构在处理记录增加、删除等 方面要好于数组结构。因而选用链表结构。 先根据卡片的内容定义一个结构类型,该结构类型应该是弟归结构,以获得从一个结构 变量访问同类型的另一个结构变量的能力。该结构的定义如下: struct stamprecord例子: addr binfo[100]; binfo[0].zip=1234; 3.4.3 结构指针 结构作为一种聚合数据类型,其变量是在内存中进行存放的,也有一定的内存地址,因 而也就存在结构变量指针。结构指针可以用来指向任何统一结构类型的结构变量,可以通过 结构指针来访问结构的成员数据。 定义结构指针的一般语法结构如下: struct variable *name; 或 variable *name; 同样,对结构指针必须初始化或赋值,使其指向结构变量。对结构指针进行赋值时,需 要将一个结构变量的地址赋给它,即对结构变量进行取址操作或利用其他结构指针对某个类 型匹配的结构指针进行赋值。利用结构指针来对结构的成员数据进行访问的一般形式如下所 示: structure_variable->member_name; 其中 structure_variable 是结构变量的名字,而 member_name 是成员数据的变量名。 [例 3.6] 使用结构指针的例子。(EX3_6.CPP) 3.4.4 结构的嵌套 结构的嵌套指的是结构的成员数据中包含其他结构,形成复杂的数据结构在 C++中,结 构可以作为其他结构的成员数据。只要在编译器或计算机支持的范围内,结构可以多级地嵌 套。 注意:程序中出现的所有结构,在结构中都必须的定义。 对于结构嵌套的情况,要访问作为某一结构的成员的结构的成员数据,需要进行多级逐 层引用。 [例 3.7] 结构嵌套的应用。EX3_7.CPP 3.4.5 链表类数据处理 链表是计算机数据处理中常用的一种数据结构。在链表中,各元素具有相似的结构,且 各元素之间依次链接形成民链状的表单结构,且链表的线性顺序连续是逻辑上的,而不是依 赖分配连续存储空间来维持的,因而在物理结构上是灵活的,属于线性动态结构。结构是实 现链表类数据处理的强有力的工具,有很多衫的链表结构都是用结构构造出来的。 为了实现通过链表结构中某一元素访问其他元素,即结构变量提供可以指向其他结构变 量的机制,需要使用递归结构类型。在递归结构类型中,结构的成员数据中包含指向该结构 类型本身的结构指针,利用该指针,可以实现对同类型的结构变量的访问。 例如,一个集邮爱好者想为他的收藏品建立一个卡片式档案。每张卡片记录一张邮票的 情况,包括邮票名称,尺寸、发行日期、描述信息等内容。以这些要包含的内容作为成员函 数,构成一个结构类型,每张卡片作为一个结构变量来处理,但这些卡片如何组织起来需要 好好考虑一下。如建立结构数组或链表结构,比较而言,链表结构在处理记录增加、删除等 方面要好于数组结构。因而选用链表结构。 先根据卡片的内容定义一个结构类型,该结构类型应该是弟归结构,以获得从一个结构 变量访问同类型的另一个结构变量的能力。该结构的定义如下: struct stamprecord
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有