в программе на C мне нужно определить
float (*d_i)[3];
, но позже я понял, что мне нужно определить переменные NMAX этого типа.Я пытался с
float (*d_i)[3][NMAX];
, но он не работает.
Какой будет правильный синтаксис?
Спасибо
Не угадай.Просто используйте typedef.
typedef
typedef float (*someType)[3]; someType d_i[NMAX];
(Если вы действительно не хотите typedef,
float (*d_i[NMAX])[3];
)
typedef float array_of_3_floats[3]; array_of_3_floats *d_i; /* what you have now */ array_of_3_floats d_ii[NMAX]; /* what I think you want */ array_of_3_floats (*d_iii)[NMAX]; /* maybe what you want */
Является ли NMAX константой? Если нет, выделение памяти должно выполняться динамически с использованием malloc (или эквивалентного).