1 // Test multiple levels of indirection
2
testsingle()3 void testsingle() {
4 int a = 0;
5 int* pa = &a;
6 printf("a = %d, *pa = %d\n", a, *pa);
7 *pa = 2;
8 printf("a = %d, *pa = %d\n", a, *pa);
9 }
10
testdouble()11 void testdouble() {
12 int a = 0;
13 int* pa = &a;
14 int** ppa = &pa;
15 printf("a = %d, *pa = %d **ppa = %d\n", a, *pa, **ppa);
16 **ppa = 2;
17 printf("a = %d, *pa = %d **ppa = %d\n", a, *pa, **ppa);
18 }
19
testtripple()20 void testtripple() {
21 int a = 0;
22 int* pa = &a;
23 int** ppa = &pa;
24 int*** pppa = &ppa;
25 printf("a = %d, *pa = %d **ppa = %d\n ***pppa = %d", a, *pa, **ppa, ***pppa);
26 ***pppa = 2;
27 printf("a = %d, *pa = %d **ppa = %d\n ***pppa = %d", a, *pa, **ppa, ***pppa);
28 }
29
main()30 int main() {
31 testsingle();
32 testdouble();
33 testdouble();
34 return 0;
35 }
36