我需要定義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 */