Я читаю об эквивалентности типов в своем классе языков программирования и столкнулся с ситуацией в C, в которой я не уверен.
Он описывает «эквивалентность типов» C как:
C использует форму эквивалентности типов, которая находится между эквивалентностью имени и структурной эквивалентностью и которую можно в общих чертах описать как «эквивалентность имен для структур и объединений, структурная эквивалентность для всего остального».
Так что, если у меня есть два массива разного размера, но одного и того же базового типа:
typedef int A1[10];
typedef int A2[20];
Поскольку все, что мне нужно, — это структурная эквивалентность, можно ли считать их структурно эквивалентными? В C является ли размер набора индексов частью типа массива или нет?