数组是c中的数据类型吗? 如果可以,我们可以在结构体中创建数组类型的变量,enum。数据类型混合在c中
int arr[10] ;//is this arr is a data type of 10 ints
数组是c中的数据类型吗? 如果可以,我们可以在结构体中创建数组类型的变量,enum。数据类型混合在c中
int arr[10] ;//is this arr is a data type of 10 ints
数组是一个derived type
,如果我们看一下C99 draft standard部分6.2.5
类型款说(重点煤矿):
任何衍生类型可以从对象,函数和 完整的类型,如下所示:
- 数组类型描述了一种连续地分配非空的对象集与 特定成员对象类型,称为元件type.36)数组类型为 特征在于它们的元素类型以及数组中的元素的数量。一个 数组类型据说是从它的元素类型派生出来的,如果它的元素类型是T,那么 数组类型有时被称为''T''数组。数组类型从 构造一个元素类型被称为''数组类型派生''。
可以创建结构和枚举的阵列中,唯一的例外是在脚注注意到:
由于对象类型不包括不完全类型,不完全型的阵列不能建。
是阵列在C语言的数据类型?
“阵列”,没有进一步的规范不是一个单独的数据类型,但一旦你指定它的大小和它的元件的类型,它成为一个数据类型。换句话说,你不能定义一个需要“任何数组的数组”或“没有特定大小的特定类型的数组”的类型,但是你可以定义一个N
类型的数组的数据类型T
。
如果是的话,我们可以创建数组类型的变量在
struct
S,enum
?
int arr[10] ;//is this arr is a data type of 10 ints
是的,它是。您可以通过检查sizeof(arr)
来判断:这将是sizeof(int)
的十倍。
“数组”不是数据类型; “int int数组”和“size 10 ints数组”是数据类型。 – mpez0
@ mpez0编辑。谢谢! – dasblinkenlight
当然,数据类型的数组是另一种数据类型。
你可以这样做:
typedef int intarr3_t[3];
intarr3_t intarr = {1, 2, 3};
阵列的构思涉及一种派生类型。然后有数据类型,例如array of int
和array of 10 ints
。
http://www.cprogramming.com/tutorial/c/lesson8.html –