Недавно я столкнулся с этим неортодоксальным способом определения типа массива int:
typedef int(array)[3];
Сначала я подумал, что это массив указателей на функции, но потом я понял, что теги *
и ()
отсутствуют, поэтому, посмотрев на код, я понял, что массив типов был вместо типа int[3]
. Обычно я объявляю этот тип следующим:
typedef int array[3];
Если я не ошибаюсь, что это не одно и то же, в чем преимущество этого в первом случае, кроме как сделать их похожими на указатель на функцию?