1

我知道C中的基本数据类型 - char、int、float 等。但是C语言中的派生数据类型到底是什么?

4

5 回答 5

7

标准的 6.2.5.20 (好吧,草案;万岁免费 :)涵盖派生类型

20 可以从对象、函数和不完整类型构造任意数量的派生类型,如下所示:
-- 数组类型描述了具有特定成员对象类型的一组连续分配的非空对象,称为元素类型。数组类型的特征在于它们的元素类型和数组中的元素数量。数组类型被称为从其元素类型派生,如果其元素类型是T,则该数组类型有时称为数组T。从元素类型构造数组类型称为数组类型派生
-- 结构类型描述了一个顺序分配的非空成员对象集(在某些情况下,一个不完整的数组),每个对象都有一个可选的指定名称和可能的不同类型。
-- 联合类型描述了一组重叠的非空成员对象,每个成员对象都有一个可选的指定名称和可能的不同类型。
-- 函数类型描述具有指定返回类型的函数。函数类型的特征在于它的返回类型以及它的参数的数量和类型。一个函数类型被称为是从它的返回类型派生的,如果它的返回类型是T,这个函数类型有时被称为函数返回T. 从返回类型构造函数类型称为函数类型派生
-- 指针类型可以派生自函数类型、对象类型或不完整类型,称为引用类型。指针类型描述了一个对象,其值提供对被引用类型实体的引用。从引用类型派生的指针类型T有时称为指向 的指针T。从引用类型构造指针类型称为指针类型派生

这些构造派生类型的方法可以递归地应用。

于 2011-05-17T02:13:40.860 回答
4

从基本数据类型派生的数据类型称为派生数据类型。派生数据类型不会创建新的数据类型,而是向基本数据类型添加一些功能。

在 C 中,两种派生数据类型是:数组和指针。

数组:数组是相同类型变量的集合。它们存储在传染性内存分配中。

例如

int a[10];
char chi [20]; 

指针:

指针是一个特殊变量,它保存另一个变量的内存地址(内存中的位置)。

int i=10;
int *j;
j=&i;

这里,j 是一个整数指针,因为它保存了一个整数变量 i 的地址。

于 2011-05-17T02:05:06.493 回答
3

派生数据类型只不过是从基本数据类型构造而来。例如指针、结构、联合等。 int i; 整数*指针;指针 = &i; 'i' 是整数类型的变量,它是基本数据类型。这就是为什么指针必须是基于数据类型的原因。

于 2013-08-23T08:39:20.343 回答
1

派生数据类型是一种复杂的分类,可识别一种或多种数据类型,由称为原始数据类型的简单数据类型组成。派生数据类型具有高级属性和用途,远远超出作为其基本构建块操作的基本原始数据类型。

于 2015-12-26T08:06:28.733 回答
0

派生数据类型派生自基本数据类型(即:int、float、char、double、void)。他们不会创建新的数据类型,而是使用基本数据类型来添加额外的功能。例如:数组:数组是相同类型的变量的集合。因此数组是派生的数据类型。

于 2017-02-19T10:14:03.887 回答