/* * Program to demonstrate using pointers to find out where compiler/runtime * puts variables. (Of course this may vary from compiler to compiler and * system to system.) */ #include void bar(int a){ printf("in function bar, parameter (value %d) is at %p\n", a, (void *) &a); } void foo(int a){ printf("in function foo, parameter (value %d) is at %p\n", a, (void *) &a); bar(a); } int main(void) { int a; int b; int array[20]; int z; printf("in main, a is at %p\n", (void *) &a); printf("in main, b is at %p\n", (void *) &b); printf("in main, z is at %p\n", (void *) &z); printf("in main, array is at %p\n", (void *) array); foo(1); bar(2); return 0; }