fork download
  1. #include <stdio.h>
  2. #define N 4
  3.  
  4. int main(void)
  5. {
  6. int a[N][2];
  7. int (*b[N])[2];
  8. int (*c)[2];
  9. int **d;
  10. int (*e)[2];
  11. int i;
  12.  
  13. for (i = 0; i < N; i++) {
  14. a[i][0] = 2 * i + 1;
  15. a[i][1] = 2 * i + 2;
  16. }
  17. for (i = 0; i < N; i++)
  18. printf("%d, %d\n", a[i][0], a[i][1]);
  19. printf("\n");
  20.  
  21. for (i = 0; i < N; i++) {
  22. b[i] = &a[i];
  23. }
  24. printf("b = %08X\n", b);
  25. for (i = 0; i < N; i++)
  26. printf("%d, %d\n", (*b[i])[0], (*b[i])[1]);
  27. printf("\n");
  28.  
  29. c = a;
  30. for (i = 0; i < N; i++)
  31. printf("%d, %d\n", c[i][0], c[i][1]);
  32. printf("\n");
  33.  
  34. d = (int **)b;
  35. printf("d = %08X\n", d);
  36. for (i = 0; i < N; i++)
  37. printf("%d, %d\n", d[i][0], d[i][1]);
  38. printf("\n");
  39.  
  40. e = (int (*)[2])a;
  41. printf("e = %08X\n", e);
  42. for (i = 0; i < N; i++, e++)
  43. printf("%d, %d\n", e[0][0], e[0][1]);
  44.  
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0s 1788KB
stdin
Standard input is empty
stdout
1, 2
3, 4
5, 6
7, 8

b = BFD453A0
1, 2
3, 4
5, 6
7, 8

1, 2
3, 4
5, 6
7, 8

d = BFD453A0
1, 2
3, 4
5, 6
7, 8

e = BFD453B0
1, 2
3, 4
5, 6
7, 8