不可能的。您需要将一个数组中的元素逐个复制到另一个数组。
您还可以使用指向整数数组的指针数组来模拟二维数组。
int array1[] = {1,2,3,4,5,6,7,8,9,10};
int array2[] = {9,8,7,6,5,4,3,2,1,0};
int *array2d[2];
array2d[0] = array1;
array2d[1] = array2;
or this
int array1[] = {1,2,3,4,5,6,7,8,9,10};
int array2[] = {9,8,7,6,5,4,3,2,1,0};
int *array2d[] = {array1, array2};
cout << "[0][0]=" << array2d[0][0] << endl;
cout << "[1][0]=" << array2d[1][0] << endl;
或相反
如果您的目标是将二维数组呈现给某些 API,那么您应该重构您的一侧。例如,您可以用指针模拟一维数组:
// an ampty array
int array2d[2][10];
// pointers to parts
int *array1 = array2d[0];
int *array2 = array2d[1];
int n;
// fill "arrays"
for(int i=0, n=1; i<10; ++i, ++n) {
array1[i] = n;
}
for(int i=0, n=9; i<10; ++i, --n) {
array2[i] = n;
}
// now you are ready
cout << "[0][0]=" << array2d[0][0] << endl;
cout << "[1][0]=" << array2d[1][0] << endl;