将一组指针数组保存到变量的一组2D数组中的正确方法是什么?
const int arr0[][4] = {{10, 11, 12, 13}, \
{14, 15, 16, 17}, \
{18, 19, 20, 21}, \
{22, 23, 24, 25}};
const int arr1[][4] = {{80, 81, 82, 83}, \
{84, 85, 86, 87}, \
{88, 89, 90, 91}, \
{92, 93, 94, 95}};
int *ptr[2]; // Elements of ptr should point to any array size
ptr[0] = arr0; // this give Warning C4047 '=': 'bool *' differs in levels of indirection from 'const bool (*)[4]'
我在哪里想念* /& /()??
由于
编辑:
由于我不知道在构建时间arr0 / 1的实际大小(可能会有所不同),我想保持两个指针(*ptr[2] ?)
引用arr0 / arr1并使用一些指针算法访问它们的元素,类似于(假设我有动态存储的宽度= 4:
int out_2_3 = *(ptr[0] + 2*width + 3) + *(ptr[1] + 2*width + 3);
//期望:20 + 90