#include <stdio.h>
#include <assert.h>
typedef int R3[3];
int main(int argc, char *argv[])
{
int matrix[2][3] = {
[0][1] = 1, [1][0] = 1, [1][2] = 1
};
int *mp;
R3 *r3;
//int (* r3)[3];
mp = &matrix[0][0];
r3 = matrix;
printf("%10s: %p\n", "mp", mp);
printf("%10s: %p\n", "r3", r3);
printf("%10s: %p\n", "mp+1", mp+1);
printf("%10s: %p\n", "r3+1", r3+1);
for (; r3 < matrix+2; r3++) {
int i;
for (i = 0; i < 3; i++) {
if ((*r3)[i] == 0) (*r3)[i] = 1;
else (*r3)[i] = 0;
}
}
assert(matrix[0][0] == 1);
assert(matrix[0][1] == 0);
assert(matrix[0][2] == 1);
assert(matrix[1][0] == 0);
assert(matrix[1][1] == 1);
assert(matrix[1][2] == 0);
return 0;
}