0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

5个简单步骤在C中创建抽象的数据类型

PCB线路板打样 来源:LONG 2019-08-07 14:40 次阅读

对于许多软件开发人员来说,面向对象编程是一个很好的工具。遗憾的是,使用过程C编程语言的嵌入式软件工程师在许多现代编程语言功能上都失败了。抽象数据类型(通常简称为ADT)是数据类型,其实现细节隐藏在数据结构的用户视图中,但ADT可以使用五个简单步骤在C中开发。

步骤1 -定义抽象数据类型

C中的ADT通常被定义为指向结构的指针。头文件包含没有任何底层细节的ADT声明,由实现者完全声明源模块中的ADT。 ADT的示例包括 StackPtr_t , NodePtr_t 或 QueuePtr_t 等等。下面的示例显示了开发人员如何声明ADT:

声明将会发生在 stack.h 文件中,允许模块的用户使用 StackPtr_t ,它是指向 StackStruct_t 的指针。从用户的角度来看, StackStruct_t 的成员的细节是完全隐藏的。任何与 StackPtr_t 的交互都必须使用预定义的操作完成。

步骤2 -定义可对数据执行的操作

可以在ADT上执行的操作完全取决于ADT的用途。例如,堆栈的ADT可能包括诸如初始化,推送数据,弹出数据,销毁堆栈,检查堆栈是否已满,检查堆栈是否为空等操作,等等。请记住,使用ADT与开发人员通常操作数据的方式完全不同。通常,开发人员会定义数据并编写直接操作数据的代码。使用抽象数据类型,开发人员创建一个接口,在这个接口中间接修改数据。

步骤3 -填写接口规范

接口规范是可以在ADT上执行的所有公共操作的函数原型。接口规范应位于ADT头文件中。回到堆栈示例,开发人员可能会发现接口规范如下所示:

步骤4 -创建实现

ADT的实现可能会从一个应用程序更改为下一个应用程序。事实上,ADT实施可能会在项目开发期间发生变化。这是使用ADT的一个很好的方面:实现细节位于源模块中,并且从高级应用程序开发人员的视图中“隐藏”。因此,ADT的使用为开发者提供了高度的灵活性。可以在下面找到堆栈实现的哪些部分的示例:

步骤5 -将抽象数据类型放入测试

最后,一旦开发人员指定并实现了ADT,就可以通过编写一些应用程序代码来进行测试。应用程序代码应该声明一个ADT,然后通过使用接口规范来操纵数据的内容。初始化ADT并与其数据交互的示例如下所示:

结论

C中的ADT通常分为三个不同的部分:应用程序,规范和实现。 ADT的目的是隐藏数据结构的实现细节,从而改进软件维护,重用和可移植性。使用ADT的开发人员会发现,他们能够快速适应不断变化的需求并节省时间,而无需通过代码搜索晦涩的数据引用。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据类型
    +关注

    关注

    0

    文章

    236

    浏览量

    13589
  • PCB打样
    +关注

    关注

    17

    文章

    2968

    浏览量

    21615
  • 华强PCB
    +关注

    关注

    8

    文章

    1831

    浏览量

    27692
  • 华强pcb线路板打样

    关注

    5

    文章

    14629

    浏览量

    42928
收藏 人收藏

    评论

    相关推荐

    C语言数据类型详解

    计算机编程语言是用来控制计算机的行为及操作,协助人们解决现实的问题,其能表达的数据类型也是从实际中提取并抽象出来形成的数据结构描述。
    发表于 11-02 11:32 1173次阅读
    <b class='flag-5'>C</b>语言<b class='flag-5'>数据类型</b>详解

    Python中常用的数据类型

    )和False(假)。4. 列表列表是Python中使用最频繁的数据类型,集合可以放任何数据类型,可对集合进行创建、查找、切片、增加、修改、删除、循环和排序操作。
    发表于 04-19 15:14

    请问c5515数据类型定义是怎么样的?

    如下:spru281fpage5-6说明如下:两文档的对double的定义是有冲突的,1.请问c
    发表于 10-29 09:18

    C程序的运行环境和C语言的数据类型

    ⒈ 实验目的⑴ 了解具体的语言环境下如何编辑、编译、连接和运行一C程序。⑵ 通过运行简单C程序,初步了解
    发表于 06-21 09:36 55次下载

    不完全类型抽象数据类型的定义

    第二章为程序设计技术,本文分别介绍不完全类型抽象数据类型
    的头像 发表于 09-14 14:44 4371次阅读
    不完全<b class='flag-5'>类型</b>和<b class='flag-5'>抽象数据类型</b>的定义

    51单片机数据类型解析

    数据类型数据结构的定义是一值的集合以及定义在这个值集上的一组操作。数据类型包括原始类型、多
    发表于 11-16 08:45 2.4w次阅读
    51单片机<b class='flag-5'>中</b>的<b class='flag-5'>数据类型</b>解析

    Oracle数据类型与表的管理

    要使用数据库来存储数据,首先要知道这个数据库能存储什么类型数据。因为我们
    发表于 03-26 16:13 12次下载

    电脑卡怎么办简单步骤

    本视频主要详细介绍了电脑卡怎么办简单步骤,分别是卸载同类型的软件、清理回收站、借助软件清理电脑垃圾、定期清理磁盘碎片、系统垃圾文件、重装系统。
    的头像 发表于 03-08 16:22 8723次阅读

    C语言的数据储存与数据类型类型转换的详细资料说明

    程序说到底就是对数据的处理,所以首先要弄清楚需要处理哪些数据,计算机如何存储这些数据C语言根据需要,抽象出了一些基本
    的头像 发表于 02-24 15:39 3914次阅读
    <b class='flag-5'>C</b>语言的<b class='flag-5'>数据</b>储存与<b class='flag-5'>数据类型</b>及<b class='flag-5'>类型</b>转换的详细资料说明

    简单步骤掌握TensorFlow的Tensor

    在这篇文章,我们将深入研究Tensorflow Tensor的实现细节。我们将在以下五简单步骤中介绍与Tensorflow的Tensor相关的所有主题:第一步:张量的定义→什么是
    的头像 发表于 12-24 14:35 886次阅读

    使用LTpowerCAD简单步骤设计电源

    使用LTpowerCAD简单步骤设计电源
    发表于 04-17 16:57 10次下载
    使用LTpowerCAD<b class='flag-5'>在</b>五<b class='flag-5'>个</b><b class='flag-5'>简单步骤</b><b class='flag-5'>中</b>设计电源

    重视变量的数据类型

    不管什么语言中,定义一变量时必然要在内存开辟一相应大小的空间来存储该变量。不同的数据类型在内存所占的空间大小不同,其所能表示的
    发表于 01-13 15:05 1次下载
    重视变量的<b class='flag-5'>数据类型</b>

    C语言的数据类型-2

    对于一计算机程序,它所做的所有运算的本质都是数据的处理。但是数据的样式并不单一,因此就有了各种各样的数据类型
    的头像 发表于 02-21 14:44 740次阅读
    <b class='flag-5'>C</b>语言的<b class='flag-5'>数据类型</b>-2

    ARRAY 数据类型的变量

    要求 全局数据块已打开。 操作步骤 要声明一 ARRAY 数据类型的变量,请按以下步骤操作:
    的头像 发表于 07-06 11:08 1011次阅读

    C语言数据类型有哪些

    C 语言中,数据类型指的是用于声明不同类型的变量或函数的一广泛的系统。变量的类型决定了变量
    发表于 03-20 10:56 402次阅读
    <b class='flag-5'>C</b>语言<b class='flag-5'>数据类型</b>有哪些