我想使用一个3D char数组,我更喜欢它是全局的(在每个函数的参数中赋予它太冗余),但维度将根据main函数的参数而不同。
所以我有类似的东西:
char* data[1][1][1];
int main (int argc, char const *argv[]){
for (int i=0; i<argc; ++i){ /*get dimensions*/ }
//get somehow char* data[x][y][z] with x,y,z being the dimensions i got in the for
}
我尝试过很多东西,但没有任何效果,基本上我想要的是&#34; 新&#34; java中的关键字。
特别是我试图将数据作为3D数组的指针,使用我在for循环后创建的尺寸,但每次都有错误。
为了说明一点:
char* data[1][1][1];
int main (int argc, char const *argv[]){
int dim1,dim2,dim3;
for (int i=0; i<argc; ++i){
/* get dimensions for example : */
dim1 = 2; dim2 = 4; dim3 = 6;
}
//get somehow char* data[x][y][z] with x,y,z being the dimensions i got in the for
char* data2[dim1][dim2][dim3];
data = data2; //I know it's wrong but that's pretty much where I want to go
}
有办法吗?