简单地说,可以使用定义数组

int arrayValues = {1,2,3,4,5};


您如何在类似的庄园中定义双数组,以免将其写出来?

int magicArray[rowSize][colSize];

magicArray[0][0] = 4;
magicArray[0][1] = 3;
magicArray[0][2] = 8;

magicArray[1][0] = 9;
magicArray[1][1] = 5;
magicArray[1][2] = 1;

magicArray[2][0] = 2;
magicArray[2][1] = 7;
magicArray[2][2] = 6;


是否可以写类似...

int magicArray[rowSize][colSize] = { {x,y,value}, {0,0,1}}

最佳答案

二维数组与内存中的一维数组相同。它们都只是指针。将您的数组创建为一维数组,对其进行初始化,然后创建您的二维数组并将其指向相同的指针。

我没有方便的测试环境,并且有一段时间没有使用C ++,因此请谨慎使用,并以此作为起点:

int tempArray[rowSize*colSize]={4,3,8,9,5,1,2...};
int magicArray[rowSize][colSize];
magicArray=tempArray;

08-26 19:48