我知道C中的基本数据类型- char、int、float等,但是C语言中的派生数据类型究竟是什么呢?
发布于 2011-05-17 02:13:40
6.2.5.20 标准(嗯,草案;免费万岁:)涵盖派生类型
20 .可以从对象、函数和不完整类型构造任意数量的派生类型,如下所示: -数组类型描述具有特定成员对象类型(称为元素类型)的连续分配的非空对象集。数组类型的特征是它们的元素类型和数组中的元素数。数组类型被认为是从它的元素类型派生出来的,如果它的元素类型是
T,则数组类型有时被称为T数组。从元素类型构造数组类型称为数组类型派生。 -结构类型描述按顺序分配的非空成员对象集(在某些情况下,描述一个不完整的数组),每个成员对象都有一个可选指定的名称,并可能具有不同的类型。 -联合类型描述一组重叠的非空成员对象,每个对象都有一个可选指定的名称,并可能具有不同的类型。 --函数类型描述具有指定返回类型的函数。函数类型的特征是其返回类型及其参数的数量和类型。函数类型被认为是从它的返回类型派生出来的,如果它的返回类型是T,函数类型有时被称为函数返回T。从返回类型构造函数类型称为函数类型派生。 -指针类型可以从函数类型、对象类型或称为引用类型的不完全类型派生出来。指针类型描述其值提供对所引用类型的实体的引用的对象。从引用类型T派生的指针类型有时称为指向T的指针。从引用类型构造指针类型称为指针类型派生。 这些构造派生类型的方法可以递归地应用。
发布于 2011-05-17 02:05:06
从基本数据类型派生的数据类型称为派生数据类型。派生数据类型不创建新的数据类型,而是向基本数据类型添加了一些功能。
在C中,两种派生数据类型是:数组和指针。
数组:数组数组是同一类型变量的集合。它们存储在传染性内存分配中。
e.g
int a[10];
char chi [20]; 指针:
指针是一个特殊的变量,它保存另一个变量的内存地址(内存中的位置)。
int i=10;
int *j;
j=&i;在这里,j是一个整数指针,因为它持有整数变量i的地址。
发布于 2013-08-23 08:39:20
派生数据类型只不过是从基本数据类型构造出来的。例如指针、结构、联合等int i;int* ptr;ptr= &i;'i‘是一个整数类型的变量,它是基本数据类型。这就是指针必须基于数据类型的原因。
https://stackoverflow.com/questions/6025465
复制相似问题