关键词:
【中文标题】数据类型与数据结构【英文标题】:Data types vs Data structures [closed] 【发布时间】:2021-05-08 12:13:47 【问题描述】:C语言中的struct
是数据类型还是数据结构?根据***,数组是一种复合数据类型,但数组不是数据结构吗?数据结构与数据类型有何不同。
提前致谢。
【问题讨论】:
这对于Computer Science 来说似乎比Stack Overflow 更好。int
和 float
是数据类型,但它们不是结构。数据结构是一种可以以某种有组织的方式包含多个值的类型。
数据结构是数据在内存中的组织方式,数据类型指定我们存储在内存中的数据类型,在一天结束时它的所有位和字节,所以简而言之,每种数据类型都是也是一种数据结构。
@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.更小的通常更好,一般情况下,应该尽量使用可以正确存储数据的最小数据类型,更小的数据类... 查看详情