C和派生数据类型?

时间:2011-05-17 01:59:49

标签: c types primitive-types derived

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

5 个答案:

答案 0 :(得分:5)

6.2.5.20 the standard (well, a draft; hooray free :)涵盖派生类型

  

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

     

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

答案 1 :(得分:3)

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

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

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

例如

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

指针:

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

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

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

答案 2 :(得分:2)

派生数据类型只不过是从基础数据类型构建的。 例如指针,结构,联合等。 int i; INT * PTR; ptr =& i; 'i'是整数类型的变量,它是基本数据类型。 这就是指针必须基于数据类型的原因。

答案 3 :(得分:0)

派生数据类型是一种复杂的分类,它标识一种或多种数据类型,由称为原始数据类型的简单数据类型组成。派生数据类型具有高级属性,并且远远超出了作为其基本构建块的基本原始数据类型。

答案 4 :(得分:0)

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