#include union foo { int a; char *b; }; void foo(union foo *c) { printf("%p\n", c->b); } int main(int argc, char **argv) { union foo f; f.b = (char *)0x32; foo(&f); return 0; }