[英]How to initialize a multidimensional array in c++?
我想制作一个数组并为其设置值,例如double MyArray[][] = {{0.1,0.8},{0.4,0.6},{0.3,0.9}}
。 但是我不想这样做MyArray[0][0] = 0.1; MyArray[0,1] = 0.8; MyArray[1][0] = 0.4;
MyArray[0][0] = 0.1; MyArray[0,1] = 0.8; MyArray[1][0] = 0.4;
等等,但是我不知道该怎么做。 在此先感谢您的帮助:)。
写就足够了
double MyArray[][2] = {{0.1,0.8},{0.4,0.6},{0.3,0.9}};
^^^
二维数组是一维数组,其元素依次为数组。 创建数组时,应知道其元素的大小。
您可以通过以下方式想象
typedef double T[2];
//..
T MyArray[] = {{0.1,0.8},{0.4,0.6},{0.3,0.9}};
至于这些陈述
MyArray[0][0] = 0.1; MyArray[0,1] = 0.8; MyArray[1][0] = 0.4;
那么如果你这样声明数组
#include <array>
//...
std::array<double, 2> MyArray[3];
你可以写
MyArray[0] = { 0.1, 0.8 };
MyArray[1] = { 0.4, 0.6 };
MyArray[2] = { 0.3, 0.9 };
您至少需要告诉编译器内部维度是什么:
double MyArray[][2] = {{.1, .8},{.4, .6} /* etc... */ };
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.