c语言的数据存储结构有哪些,C语言中,数据结构,逻辑结构与存储结构的区别..百度谷歌过,但是答案太混杂,不敢确定...

863489fe2aa71fde634e8c39eeafd88a.png

慕姐4208626

我将采用“迂回”的方式来回答题主的问题。先来说说数据类型和抽象数据类型,先看下面3个例子。例1,如果我给你一个整数你会获得哪些信息?主要可以得到如下信息:具有相同性质属于同一个集合 (−∞,+∞)的关系该整数应该是−∞,…,−1,−2,0,1,2,…+∞中的一个可对该整数进行加、减、乘、除、取模、开方等操作该整数与另一整数的关系例2,如果我给你一个C语句int num;(32位机器)你能获得哪些信息?主要可以得到如下信息具有相同性质同属一于[−231,231−1]这个集合可对num赋予[−231,231−1]中的任意值可对num执行加、减、乘、除、取模、开方等操作num与其他int num2;的关系例3,如果我给你一个队列你会获得哪些信息?主要可以得到如下信息首先,A、B来自同属一个数据集其次,A在B之前最后,A先于B出队先进入队列的数据元素一定在后进入队列的数据元素的前面一对一关系先进入队列的数据元素一定比后进入队列的数据元素先离开队列也就是常说的先进先出FIFO队列中可以存放某一种数据集(整数、实数、字符、等等)队列支持入队(enqueue)、出队(dequeue)、判空(isEmpty)、队列长度(size/length)等操作队列中的数据元素A与数据元素B(假定A先入队、B后入队)的关系理解了上面的内容,我们来看看教课书上的一些定义。数据类型的定义(Data Type):一个数据类型定义了同属一个集合一对一一对多多对多数据对象(整数范围内的所有数),也可说成一组值或值的集合或一组元素的集合等数据对象上可进行的操作集(加、减、乘、除、取模、开方)数据对象中的每个数据元素之间的关系解释数据对象:可以类比成整数集合数据元素:可以类比成我给你的那个整数,与其他整数具有相同的性质是数据的子集:计算机中的数据还有声音、图像等其他数据对象数据对象:是性质相同的数据元素的集合,是数据的子集抽象数据类型(Abstract Data Type, ADT)与数据类型一样需要定义数据对象、操作集、及数据对象中各个数据元素之间的关系。与数据类型的唯一的区别是其对“数据对象”的定义是泛化的可以是任意你想要的类型其数据对象是泛化的某一种数据集其数据对象只能是[−231,231−1]中的任意值如例2中的int就是一个数据类型而列3中的队列其实是抽象数据类型什么是数据结构?业界并无明确定义,算法导论中给出如下定义:A data structure is a way to store and organize data in order to facilitate access and modifications.个人比较喜欢的定义是:数据结构是基于某一编程语言对抽象数据类型进行【高效】的实现。通常所说线性表、队列、栈等其实说的是抽象数据类型,只给出相应的定义但不涉及具体的实现。什么是逻辑结构?数据结构这门主要就是教你干三件事:将现实世界中的事物以计算机能够理解的方式(符号化、离散化)存储到计算机中编程语言教会你符号化离散数学教会你离散化同时存储事物之间的逻辑关系高效地实现相应的操作所谓逻辑结构指的是现实世界中事物间的逻辑关系。因现实世界中的事物集已经被存储到了计算机中,所以就给其起了个泛化了的名字叫数据对象所以课本上的定义是逻辑结构:是指数据对象中的数据元素之间的相互关系现实世界中的某一事物集 => 数据对象某一事物集合中的某一事物 => 数据元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值