summaryrefslogtreecommitdiff
path: root/24_read_arr3/test.c
blob: c91dcfb1702514bfc3f523c74980ec1d9e6c94b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdio.h>
#include <stdlib.h>

int* aFunction(int x, int *p, int ** q) {
  printf("x = %d\n", x);
  printf("*p = %d\n", *p);
  printf("**q= %d\n", **q);
  *p = 42;
  **q = 99;
  *q = &p[1];
  return &p[2];
}

int main (void) {
  int anArray[3][3] = { {1,2,3},
                        {4,5,6},
                        {7,8,9} };

  int * p = anArray[1];
  int * q = aFunction(anArray[0][0],
                      anArray[2],
                      &p);
  for (int i =0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
      printf("%d\n", anArray[i][j]);
    }
  }
  printf("*q=%d\n", *q);

  return EXIT_SUCCESS;
}