Разница между терминологией: элемент vs член (массива)?

В области информатики есть ли разница между элементом массива и членом массива? Является ли он взаимозаменяемым до определенной степени, "правильный" термин зависит от спецификации каждого языка? Или у каждого из них разное значение? Один правильный / неправильный?

Меня учили myArray[1]выражается как «второй элемент массива». Но я читал / слышал фразы, похожие на «член массива». При чтении стандартов C у меня сложилось впечатление, что в массивах чаще используется «элемент», а в структуре / объединении - «член». Но потом я обнаружил в спецификации термин «гибкий элемент массива», так что я был озадачен.

Практически на нашем рабочем месте это может иметь значение, а может и не иметь значения, и я бы не стал возражать, если бы кто-то использовал неправильный термин, но на этот вопрос я ищу правильный ответ рациональным.

2 ответа

Официальным справочником по терминологии является стандарт ISO C. Он использует элементы для массивов и членов для структур и объединений. Так должны все остальные, чтобы избежать путаницы.

«Гибкий элемент массива» на самом деле относится к члену структуры, имеющему тип массива. Это пример из стандарта C11, раздел 6.7.2.1.

      struct s { int n; double d[]; };

Здесь, dявляется гибким элементом массива. Гибкий массив, в свою очередь, имеет собственные элементы (количество которых пока неизвестно, поэтому массив неполный, поэтому он и называется гибким ).

На мой взгляд, у структуры есть члены (которые могут быть разных типов), а у массива есть элементы (все они одного типа).

Возможно, это связано с тем, что член является именованным объектом, тогда как элемент является позиционным объектом. Линии могут быть немного размыты для некоторых структур данных.

Иногда вместо структуры используется массив, и можно обращаться к элементам как к элементам, поскольку они представляют собой что-то конкретное, что не выражается программно, а только в уме программиста.

Другие вопросы по тегам