私は256の整数を含むバッファを持っているので、16x16の行列を作ります。私が達成しようとしているのは、それが行列であるかのようにバッファに格納された値を読み込むことです。 座標が5と3の場合は、Yが5、YがXの値を取得する必要があります。CでXとYの値を使って行列をバッファとして読む
たとえば、ここではバッファの小さな部分ですが、読みやすいように16x3の行列です私が言うの値を取得しようとした場合、私は値を返す必要があり、Yに、= 2、およびX = 5を0ではなく)1よりそう
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4
4 5 6 7 8 9 1 0 2 3 4 5 6 7 8 9
のこの開始インデックスを検討9.
私がすでに持っているコードの一部ですが、私の数学はオフです。
unsigned char getTablevalue(int tableIndex, unsigned char *buffer) {
return buffer[tableIndex];
}
void getInput(....) {
int yValue = 2;
int xValue = 5;
int returnValue = 0;
unsigned char *buffer = malloc(256 * sizeof (unsigned char));
memset(buffer, 0, 256);
... Some code to fill buffer...
returnValue = getTablevalue({what can I put here}, buffer);
}
これについてのお手伝いをさせていただきます。前もって感謝します。
乗算COLと行を追加。あなたのインデックスがあります。 –
「yValue * 16 + xValue」。もちろん、バッファーを正しく充填したかどうかによって異なります。 – user3386109
なぜ2D配列を使用しないのですか? – Olaf