美文网首页
共性与可变性分析(基于C语言以数据交换为例说明)

共性与可变性分析(基于C语言以数据交换为例说明)

作者: Feicc | 来源:发表于2018-04-11 10:03 被阅读0次
    1. 问题
      自上而下的设计可能产生高层次的抽象,但代码复用性不高。在创建高层次的抽象时,不仅需要更大的工作量,而且最初的函数到底能够在多大程度上满足高层次的需求呢?
      以数据交换程序为例:


      image.png
    2. 建立抽象
      从概念的视角来看,建立抽象关注的不是如何实现,而是函数要做什么,将实现细节隐藏起来,进而帮助我们构建更易于修改的软件。理解系统的完整结构就变得更容易了。

    3. 建立接口
      接口是由公开访问的方法和数据组成的,接口描述了与模块交互的唯一途径。最小化的接口只包含对于接口的任务非常重要的参数,最小化的接口便于学习如何与之交互,且只需要理解少量的参数,同事易于扩展维护。


      image.png

      当p1和p2分别指向变量a和b时,则p1和p2存储的值就是&a和&b。

    4. void *指针
      有时我们并不关心指针所指向的变量的类型,此时可以使用并不指定具体数据类型的泛型指针void *。通常只允许相同类型的指针之间进行转换,但泛型指针能够转换为任何类型的指针。

      memcpy()函数它将一段数据从内存里一个地方复制到另一个地方。可以复制任何类型的数据,因此将它的指针参数设定为void指针非常合理。


      image.png
    5. 使用接口
      只需传入待交换的变量的地址, 即可确定如何通过接口调用它们。


      image.png

    相关文章

      网友评论

          本文标题:共性与可变性分析(基于C语言以数据交换为例说明)

          本文链接:https://www.haomeiwen.com/subject/botahftx.html