1 #include <stdio.h>
2
3 struct foo {
4 int x;
5 char *y;
6 int z;
7 };
8
9 void
print(struct foo f,int dummy,int dummy2)10 print(struct foo f, int dummy, int dummy2) {
11 printf("%d, %s, %d [%d,%d]\n", f.x, f.y, f.z, dummy, dummy2);
12 }
13
14
15 int
main()16 main() {
17 struct foo f = { 123, "hello", 456 };
18 struct foo f2 = { 456, "world", 123 };
19 struct foo *fp1 = &f;;
20 struct foo *fp2 = NULL;
21
22 sync();
23 print(fp2? *fp2: f2, 128, 444);
24 sync();
25 print(fp1? *fp1: f2, 18, 44);
26 printf("%s\n", (fp1? *fp1: f2).y);
27 }
28
29