繁体   English   中英

如何在C ++中初始化多维数组?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM