// ----------------First example------------------------- int num = 4; *(*(mat + num / 4) - 3) = 1; // mat[0][0] = 1 *(*(mat + num / 4) - 2) = 2; // mat[0][1] = 2 *(*(mat + num / 4) - 1) = 3; // mat[0][2] = 3 *(*(mat + num / 4)) = 4; // mat[1][0] = 4 *(*(mat + num / 4) + 1) = 5; // mat[1][1] = 5 *(*(mat + num / 4) + 2) = 6; // mat[1][2] = 6 *(*(mat + (num / 4)) + 3) = 7; // mat[2][0] = 7 *(*(mat + (num / 4) + 1)) = 7; // mat[2][0] = 7 *(*(mat + (num / 4)) + 4) = 8; // mat[2][1] = 8 *(*(mat + (num / 4) + 2) - 2) = 8; // mat[2][1] = 8 *(*(mat + (num / 4)) + 5) = 9; // mat[2][2] = 9 *(*(mat + (num / 4) + 3) - 4) = 9; // mat[2][2] = 9 // ----------------Second example------------------------- int num = 4; *((*mat + num / 4) - 1) = 1; // mat[0][0] = 1 *((*mat + num / 4)) = 2; // mat[0][1] = 2 *((*mat + num / 4) + 1) = 3; // mat[0][2] = 3 *((*mat + num / 4) + 2) = 4; // mat[1][0] = 4 *((*mat + num / 4) + 3) = 5; // mat[1][1] = 5 *((*mat + num / 4) + 4) = 6; // mat[1][2] = 6 *((*mat + num / 4) + 5) = 7; // mat[2][0] = 7 *((*mat + num / 4) + 6) = 8; // mat[2][1] = 8 *((*mat + num / 4) + 7) = 9; // mat[2][2] = 9 // ----------------Third example------------------------- int num = 4; *(mat[(num % 4)]) = 1; // mat[0][0] = 1 *(mat[(num % 4)] + 1) = 2; // mat[0][1] = 2 *(mat[(num % 4)] + 2) = 3; // mat[0][2] = 3 *(mat[(num / 4)]) = 4; // mat[1][0] = 4 *(mat[(num / 4)] + 1) = 5; // mat[1][1] = 5 *(mat[(num / 4)] + 2) = 6; // mat[1][2] = 6 *(mat[(num / 4) + 1]) = 7; // mat[2][0] = 7 *(mat[(num / 4) + 1] + 1) = 8; // mat[2][1] = 8 *(mat[(num / 4) + 1] + 2) = 9; // mat[2][1] = 8 /* Output of all exmaples: _____________________________ 1 2 3 4 5 6 7 8 9 */