#include struct fooBar { int a; char b[10]; }; void test(int a, int b, fooBar *item = NULL); void test (int a, int b, fooBar *item) { printf("Item pointer addr %x\n", (unsigned int)&item); } int main() { fooBar goo; test(1, 2); test(3, 4, &goo); return 0; }