在C程序中我需要定义
float (*d_i)[3];
但后来我意识到我需要定义这种类型的NMAX变量。我试过
float (*d_i)[3][NMAX];
但它不起作用。
什么是正确的语法?
由于
答案 0 :(得分:2)
不要猜。只需使用typedef
。
typedef float (*someType)[3];
someType d_i[NMAX];
(如果你真的不想要typedef
,
float (*d_i[NMAX])[3];
)
答案 1 :(得分:1)
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 */
答案 2 :(得分:0)
NMAX是否恒定?如果不是,则应使用malloc(或等效的)动态完成内存分配。