指向另一个数组中另一个位置的数组数据

时间:2015-11-12 19:46:51

标签: c arrays pointers matrix

在我的C项目中,我要求用户提示一些信息。

例如:

"What lines are white ?"

用户提示白色的行号:

3 4 6行等。

我知道每一行在4x4矩阵中都有一个独特的位置。

例如:
- 第3行:matrix[3][2]
- 第2行:matrix[3][3]等。

当用户说出一行时,我的程序必须“填充”矩阵中正确的单元格,在单元格中写入X.

我不知道如何将矩阵中的某个位置映射到某个“行数”。我想制作一种字典,例如3:&matrix[2][2]

怎么做?我不想逐行指定位置,例如:

int line3 = &matrix[2][2]等等......

我想使用一个数组,如果它可能的话......我希望我很清楚......

先谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用这样的结构:

typedef struct 
{
    int lineNumber;
    int isWhite;
} line;

line matrix[4][4];

答案 1 :(得分:1)

这个选项怎么样: 我们为矩阵定义一个指针向量。 例如4x4矩阵:

int matrix[4][4];
int *mapVector[4*4];

用于映射我们执行的向量中的任何行

mapVector[i] = &matric[x][y];

如果我们想设置第3行的值,例如我们只写:

*mapVector[3] = X;

并且矩阵中的位置将自动更新。