Types 关于内置数据类型、基本数据类型和基本数据类型的更多说明?

Types 关于内置数据类型、基本数据类型和基本数据类型的更多说明?,types,primitive,built-in,Types,Primitive,Built In,我已经看到了一些关于基本数据类型、基本数据类型和内置数据类型的定义。但我还不确定,我怎么能说一个数据类型是基本的或基本的,甚至是基本的 有什么好的定义可以帮助以这种方式指定数据类型的类型吗 维基百科说原始数据类型包括基本数据类型和内置数据类型。说:“有些类型是原始的-内置于语言中,没有可见的内部结构” 我真的很困惑 A内置数据类型是该语言中可用的数据类型,而不是从库或您编写的代码中添加的数据类型。通常情况下,int或string就是这种情况 正如所说:“对于非基本的内置类型是否应被视为“基本类型

我已经看到了一些关于基本数据类型基本数据类型内置数据类型的定义。但我还不确定,我怎么能说一个数据类型是基本的或基本的,甚至是基本的
有什么好的定义可以帮助以这种方式指定数据类型的类型吗

维基百科说原始数据类型包括基本数据类型和内置数据类型。说:“有些类型是原始的-内置于语言中,没有可见的内部结构”


我真的很困惑

A内置数据类型是该语言中可用的数据类型,而不是从库或您编写的代码中添加的数据类型。通常情况下,
int
string
就是这种情况


正如所说:“对于非基本的内置类型是否应被视为“基本类型”,意见不一,基本数据类型的定义并不明确。在我个人看来,原始数据类型基本数据类型相同,即。E没有结构或子组件的人。同样,
int
是一个很好的例子,但是
string
有子组件(构建它的不同字符)。另一种非原始类型是
文件
,因为它具有类似文件名或路径的结构。

引用Michael L.Scott的著作《编程语言语用学》,第7.1.1节(类型的定义),第322页:

至少有三种方式来考虑类型,我们可以称之为外延、构造和基于抽象的观点。[...] 从构造的角度来看,类型可以是内置类型(整数、字符、布尔、实数等;也称为基本类型或预定义类型)的小集合之一,也可以是通过将类型构造函数(
record
array
set
等)应用于一个或多个简单类型而创建的复合类型。(使用构造函数)与C++和java的初始化函数无关。 因此,从理论角度来看,这些术语(基本的、内置的、预定义的-我也将添加基本的)或多或少都是同义词,它们都是可以理解的,与复合类型相比,复合类型是通过使用某种“类型上的操作”(可能以递归方式)从它们构建的(字符数组、指针集合、记录列表,每个记录由一个浮点和一个字符串组成,等等)


我同意@KeithThompson的观点,即从实际角度来看,每种语言都将使用(其中的一些)这些术语赋予它们非常特定的含义,因此您必须浏览特定的语言规范,以了解在该上下文中的含义。

这些术语的含义可能因编程语言而异。可能未实现原始数据类型(内置,从理论角度看)但基本类型通常内置(从实际POV).Build-in有一个明确的定义:用编程语言本身实现。然后它取决于实现,但基本和原语不是这样的。我想你是在寻找没有连贯性的地方。好吧,这就是我想说的,没有一个强的(数学的)连贯性在技术文献中,这些定义也不是一个被广泛接受的术语。在我所引用的摘录中,内置的、原始的和预定义的类型被认为是同义词,但是作为一个不同的术语选择的例子,我可以引用Stroustrup(C++编程语言,第二版,P.70)。,其中他调用bools、int、chars等基本类型,而他为所有非用户定义的类型(如类、枚举等)保留术语内置类型,因此根据他的说法,指向int的指针是内置的(但不是基本的)!另请参见,作为不同语言/作者之间缺乏一致性的另一个示例。这里的类型是基本类型或引用类型。这只是另一个约定!作为另一个POV,请参见Lua参考手册的相关部分。如您所见,Lua作者谈到基本类型。