1 struct foo { 2 }; 3 bar_2(struct foo * y)4int bar_2(struct foo* y) { 5 (void) y; 6 return 0; 7 } 8 bar(const volatile struct foo * y)9int bar(const volatile struct foo* y) { 10 (void) y; 11 return 1; 12 } 13 baz(int (* const volatile y)(const volatile struct foo *))14int baz(int (*const volatile y)(const volatile struct foo*)) { 15 (void) y; 16 return 2; 17 } 18 19 int (*const volatile quux)(const volatile struct foo*) = &bar; 20