数据类型与数据结构

     2023-02-18     97

关键词:

【中文标题】数据类型与数据结构【英文标题】:Data types vs Data structures [closed] 【发布时间】:2021-05-08 12:13:47 【问题描述】:

C语言中的struct是数据类型还是数据结构?根据***,数组是一种复合数据类型,但数组不是数据结构吗?数据结构与数据类型有何不同。 提前致谢。

【问题讨论】:

这对于Computer Science 来说似乎比Stack Overflow 更好。 intfloat 是数据类型,但它们不是结构。数据结构是一种可以以某种有组织的方式包含多个值的类型。 数据结构是数据在内存中的组织方式,数据类型指定我们存储在内存中的数据类型,在一天结束时它的所有位和字节,所以简而言之,每种数据类型都是也是一种数据结构。 @IrAM 不错,但我想说,每种数据类型使用某种数据结构来存储数据。 这些词的定义不像数学定义那样明确。通常,数据结构意味着一些额外的逻辑或约束来访问解决特定问题的数据。数组解决了在 O(1) 时间内访问或改变元素的问题,数据结构也是如此。这是在“数据结构和算法”的背景下。在日常谈话中,您可以将任何旧数据称为数据结构。 【参考方案1】:

An array is a data type in C, so is a structure.

data structure 是一种组织数据的方式,可以使用一种或多种数据类型。

【讨论】:

【参考方案2】:

struct 是“结构”的一种镜头形式。它们是一种组织数据的方式。可以使用多种类型的原始(或复杂)成员类型来创建结构。例如,

struct EmployeeRecord 
    float mSkillLevel = 1.0f;
    int mWorkingYears = 0;
;

另一方面,数组是相似类型记录的集合。这意味着该数组仅包含一种类型的多个数据。数组将如下所示,

EmployeeRecord employees[10];    // Stores records of 10 employees.
int numbers[15];    // Stores 15 numbers.

现在数组也是一种数据结构。这意味着上面的示例可以像这样使用struct 进行分解和实现,

struct RecordArray10 
    EmployeeRecord record1;
    EmployeeRecord record2;
    EmployeeRecord record3;
    ...
 employees;

struct NumArray15 
    int num1;
    int num2;
    int num3;
    ...
 numbers;

现在这些都有索引记录的实际问题。为此,我们需要将其转换为其成员类型(EmployeeRecord)指针,然后我们可以对其进行索引,

EmployeeRecord* pArray = (EmployeeRecord*)&numbers;
EmployeeRecord& firstElement = pArray[0];    // Indexing the first element.

为了方便使用,C 直接使用我提到的第一种语法提供了对数组的支持。

数组有两种类型,

    静态数组(在编译时解析,无法调整大小)。 动态数组(可以在运行时调整大小)。

参考:Wikipedia: Data Structure Wikipedia: Array data structure Array vs Data Structure

【讨论】:

数据类型与类型转

  一、数据类型定义:数据类型=数据结构+数据操作,即数据类型包括明确数据的结构以及定义在这组数据所允许的操作。 例如:我们经常使用int来定义整型数据,那么就必须明确以下三点,当然这些我们已经形成... 查看详情

C# 数据类型与 MySql 数据类型

】C#数据类型与MySql数据类型【英文标题】:C#datatypesvs.MySqldatatypes【发布时间】:2010-11-1222:20:20【问题描述】:谁有从MySQL数据类型到C#数据类型的转换列表?尝试从smallint无符号类型转换为c#类型时遇到困难。【问题讨论】:【... 查看详情

数据类型与分布式存储

数据类型与分布式存储================================================================================概述:================================================================================数据类型 1.结构化数据★定义:结构化数据即 查看详情

数据类型与类型检查

1.编程语言中的数据类型数据类型和变量之间的区别:数据类型是抽象,而变量是对数据类型的具体实例化int,long…类(classes),接口(interfaces),数组(arrays),枚举(enums),注解(annotations)不可变的有些可变有些不可变Onstack,existonlywheninus... 查看详情

javascript数据类型与类型判断详解(代码片段)

一、JavaScript 数据类型JavaScript 数据类型有两种,分别是基本数据类型和引用数据类型。基本数据类型NumberStringBooleanUndefinedNullSymbol (ES6新增,表示独一无二的值)引用数据类型ObjectFunctionArray我们来详细了解一下这两种... 查看详情

常量与数据类型

三、数据与数据类型1、基本数据类型(1)整型类型(2)浮点类型        含有小数点的数值称为浮点数,默认使用double类型存储。使用浮点数存储数据存在着误差,很多浮点数不能精确地表示,如果... 查看详情

基本数据类型与数组

为什么有数据类型Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间          基本数据类型变量的定义和使用 变量的定义格式:数据类型... 查看详情

打包数据类型与普通数据类型之间的区别

】打包数据类型与普通数据类型之间的区别【英文标题】:Differencebetweenpackedvsnormaldatatype【发布时间】:2016-12-1023:00:24【问题描述】:在Metal中,packed_float4和float4有什么区别?【问题讨论】:developer.apple.com/library/ios/documentation/Me... 查看详情

javascript的数据类型与变量

  JavaScript数据类型1、原始数据类型:数值型,如十进制数、十六进制数、八进制数和特殊值(Infinity、NaN),注意:NaN不能和自身比较字符串型,如定界符、转义符;布尔类型。 2、复合数据类型:对象(object);数组(a... 查看详情

java基本数据类型与类型转换

Java基本数据类型与类型转换文本关键字:8种、基本数据类型、整数类型、浮点类型、字符类型、布尔类型一、基本数据类型1.概述在Java中,所使用到的类型可以分为两大类,一类是基本数据类型,一共有8种,包含:整数,小数... 查看详情

java数据类型总结与数据类型转换问题

(1)数据类型总结java数据类型主要有Boolean、byte、int、short、char、long、float、double.byte类型数据占1个字节,8位,最高位表示符号,则表示范围是:-2^7~2^7-1int类型数据占4个字节,共32位,最高位表示符号,则表示范围是:-2^31~2^3... 查看详情

mysql数据类型与操作(代码片段)

...(createtable表格(字段名1类型(宽度)约束条件))MySQL数据库数据类型(整型、浮点型、字符类型(char与varchar)、日期类型、枚举与集合)约束条件(primarykey、uniquekey、notnull、foreignkey)--------------------------------------------------... 查看详情

数据库-----数据类型,日期类型,字符类型,枚举与集合,约束

---恢复内容开始---数据库:按一定的格式存放数据数据库管理系统:高效地获取和维护数据的功能数据库分类;  1关系型:sqllite;db2;oracle;access;sqlserver;MySQL        2非关系型:mongodb,redis,memcache 操作文件夹:(库)... 查看详情

基本类型与封装类

                  基本数据类型一、Java共有8种基本数据类型:boolean,byte,char,double,float,int,long,short整型数据类型:短整型(short),整型(int),长整型(long)浮点数据类型:单精度浮点型(float),双精度浮点型(double)字符数... 查看详情

hive数据类型与文件存储格式

Hive数据类型基础数据类型:TINYINT,SMALLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,BINARY,TIMESTAMP,DECIMAL,CHAR,VARCHAR,DATE。复杂数据类型:包括ARRAY,MAP,STRUCT,UNION。这些复杂类型是由基础类型组成的。ARRAY:ARRAY类型是由一系列同样数据类型元素组... 查看详情

java数据类型;常量与变量;

java数据类型:基本数据类型、引用数据类型;基本数据类型(8个):整型(4):byteshortintlong(64bit)浮点型(2):float(32bit)double(64bit)字符型(1):char(键盘上能输出的都是字符,加‘‘)16bitUnicode编码;布尔型(1):boolean1bittrue... 查看详情

java与数据库数据类型对应表

Java数据类型hibernate数据类型标准SQL数据类型(PS:对于不同的DB可能有所差异)byte、java.lang.BytebyteTINYINTshort、java.lang.ShortshortSMALLINTint、java.lang.IntegerintegerINGEGERlong、java.lang.LonglongBIGINTfloat、java.lang.Floatflo 查看详情

schema与数据类型优化

1.选择优化的数据类型  选择正确的数据类型对于获得高性能至关重要,不管存储那种类型的数据,请遵循以下几个原则:  1.更小的通常更好,一般情况下,应该尽量使用可以正确存储数据的最小数据类型,更小的数据类... 查看详情