术语之间的区别:元素与成员(数组)?

Difference between terminology : element vs member (of array)?

在计算机科学领域,数组元素数组成员之间有区别吗?它是否可以互换到“正确”术语受每种语言规范约束的程度?还是它们各有不同的含义?是一个correct/wrong吗?

我被教导myArray[1]表示为“数组的第二个元素”。但是我有 read/heard 个类似于“数组成员”的短语。阅读 C 标准给我的印象是数组有“元素”并且 structs/unions 更经常有“成员”。但是后来我也确实在标准中找到了“灵活数组成员”一词,所以我感到困惑。

实际上在我们的工作场所,它可能会或可能不会有所不同,如果有人使用了错误的术语,我真的不介意,但对于这个问题,我正在寻找正确的答案是有原因的。

在我看来,结构有成员(可以是不同类型),数组有元素(都是同一类型)。

也许这是因为成员是命名对象,而元素是位置对象。对于某些数据结构,线条可能有点模糊。

有时使用数组代替结构,人们可能将元素称为成员,因为它们代表一些特定的东西,这些东西不是以编程方式表达的,而是 在程序员的脑海中.

官方术语参考是 ISO C 标准。它用 elements 用于数组,members 用于结构和联合。其他人也应该避免混淆。

“灵活数组成员”实际上是指具有数组类型的结构成员。这是取自 C11 标准第 6.7.2.1

节的示例
struct s { int n; double d[]; };

这里,d是灵活的数组成员。灵活数组又拥有自己的元素(尚不清楚其数量,因此该数组是不完整的,这就是它被称为 flexible)的原因。