数组的定义是存储在相邻位置的相似类型元素的集合。
为什么它不是存储在相邻位置的相同元素的集合?
发布于 2018-07-10 16:51:41
来自C11标准的权威引述:
数组类型描述了一组连续分配的非空对象,其中包含特定成员对象类型,称为element类型。当指定数组类型时,元素类型应是完整的。数组类型的特征在于它们的元素类型和数组中元素的数量。数组类型被认为是从它的元素类型派生出来的,如果它的元素类型是T,那么该数组类型有时被称为“T的数组”。
按照我的重点,它说的是一个(一个)固定类型。
你在这里所期待的,比如
...相同元素的集合...
可能具有误导性,因为它可能指示所有成员必须是相同的类型和值,但事实并非如此。
而是提到了什么(无论你的来源是什么)
相似类型的元素
似乎在传达实际立场方面做了适当的工作。
TL;DR -所有成员类型相同,值可以相同也可以不同。
发布于 2018-07-10 16:49:49
相同的元素表示相同的值,但这不是正确的含义。
另一种说法是:Definition of an array is a collection of elements *of the same type* stored in adjacent locations.
https://stackoverflow.com/questions/51260836
复制相似问题