C中的正确语法,用于定义3D指针数组

时间:2010-09-09 14:34:06

标签: c

在C程序中我需要定义

float (*d_i)[3];

但后来我意识到我需要定义这种类型的NMAX变量。我试过

   float (*d_i)[3][NMAX];

但它不起作用。

什么是正确的语法?

由于

3 个答案:

答案 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(或等效的)动态完成内存分配。