数组是c中的数据类型吗? 如果是,我们可以在结构中创建数组类型的变量,枚举。
int arr[10] ;//is this arr is a data type of 10 ints
答案 0 :(得分:1)
没有进一步说明的“数组”不是单独的数据类型,但是一旦指定了它的大小和元素类型,它就变成了数据类型。换句话说,您不能定义一个带有“任何数组”或“没有特定大小的特定类型的数组”的类型,但您可以定义一个数组类型为数组是C中的数据类型吗?
N
项的数组输入T
。
如果是,我们可以创建数组类型的变量,如
struct
s,enum
?
int arr[10] ;//is this arr is a data type of 10 ints
是的,确实如此。您可以通过检查sizeof(arr)
来判断:它将是sizeof(int)
的十倍。
答案 1 :(得分:0)
当然,数据类型的数组是另一种数据类型。
您可以执行以下操作:
typedef int intarr3_t[3];
intarr3_t intarr = {1, 2, 3};
答案 2 :(得分:0)
数组是derived type
,如果我们查看C99 draft standard部分6.2.5
类型段 20 说(强调我的) :
可以从对象,函数和构造任意数量的派生类型 不完整的类型,如下:
- 数组类型描述了一个连续分配的非空对象集 特定的成员对象类型,称为元素类型.36)数组类型是 以其元素类型和数组中元素的数量为特征。一个 数组类型据说是从它的元素类型派生的,如果它的元素类型是T,那么 数组类型有时被称为''T'数组'。从中构造数组类型 元素类型称为“数组类型派生”。
您可以创建结构和枚举数组,脚注 36 中注明了唯一的例外:
由于对象类型不包含不完整类型,因此无法构造不完整类型的数组。
答案 3 :(得分:0)
是的,它是一种数据类型,是的,你可以制作一些数据类型。
为了更清楚,你可以创建一个数组的typedef。
typedef char MyType_t [10];
将使MyType_t成为10个字符的数组:
MyType arrayOfTenChars;
答案 4 :(得分:0)
数组的概念与派生的类型有关。然后是数据类型,例如array of int
和array of 10 ints
。