В Фортране эти два метода для инициализации массива параметров идентичны? Если нет, то что означает dimension(*)?
dimension(*)
integer, parameter, dimension(2) :: x = [1,2]
против
integer, parameter, dimension(*) :: x = [1,2]
Эффект обоих объявлений одинаков: именованный константный массив ранга 1 формы [2] с очевидными значениями.
[2]
Использование dimension(*) делает массив подразумеваемой формой вместо явной формы: именованная константа имеет форму, подразумеваемую константным выражением.
Что лучше? Что ж, подразумеваемая форма поддерживается не всеми компиляторами (это функция Fortran 2008), но это избавляет от беспокойства по поводу написания формы дважды.