1 #include <stdio.h>
2 #include <string.h>
3
4 typedef struct test_s {
5 int a;
6 int b;
7 }test_t;
8 void test_func(test_t *a, int *b)
9 {
10 *b = 2;
11 a->a = 1;
12 printf("[%s:%d]a:at %p val %d, b:at %p val %d\n\n", __func__, __LINE__, a, a->a, b, *b);
13 }
14
15 int main()
16 {
17 test_t a;
18 short b;
19 printf("[%s:%d]a:at %p val %d, b:at %p val %d\n\n", __func__, __LINE__, &a, a.a, &b, b);
20 test_func(&a, &b);
21 printf("[%s:%d]a:at %p val %d, b:at %p val %d\n\n", __func__, __LINE__, &a, a.a, &b, b);
22 return 0;
23 }
~/test$ ./test_confilct
[main:19]a:at 0x7ffeb25fe2b0 val -1302338640, b:at 0x7ffeb25fe2ae val 0
[test_func:12]a:at 0x7ffeb25fe2b0 val 1, b:at 0x7ffeb25fe2ae val 65538
[main:21]a: