我需要定义C中的正确语法,用于定义3D指针数组
float (*d_i)[3];
但后来我意识到我需要定义这种类型的NMAX变量。我尝试使用
float (*d_i)[3][NMAX];
,但它不起作用。
什么是正确的语法?
谢谢
我需要定义C中的正确语法,用于定义3D指针数组
float (*d_i)[3];
但后来我意识到我需要定义这种类型的NMAX变量。我尝试使用
float (*d_i)[3][NMAX];
,但它不起作用。
什么是正确的语法?
谢谢
不要猜测。只需使用typedef
即可。
typedef float (*someType)[3];
someType d_i[NMAX];
(如果你真的不想要的typedef
,
float (*d_i[NMAX])[3];
)
是N最大恒定?如果不是,则内存分配应该使用malloc(或等价物)动态完成。
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 */