我想创建一个数组并为其设置值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;
,但我不知道如何做到这一点。在此先感谢任何帮助:)。
答案 0 :(得分:3)
写
就足够了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 };
答案 1 :(得分:2)
您至少需要告诉编译器内部维度是什么:
double MyArray[][2] = {{.1, .8},{.4, .6} /* etc... */ };