#include void print_stack(){ size_t a; void* place = &a; for(int i = 40; i > -2; i--){ void* p = place + i*8; char buffer[9]; buffer[8] = 0; memcpy(buffer, p, 8); printf("0x%lx: 0x%lx (%d %d) \n", p, *(size_t*)(p), *(int*)(p), *(int*)(p+4)); } } int recursive(int left){ if(!left){ print_stack(); return 500; } int new_count = left - 1; char marker[8] = "dddddddd"; return recursive(new_count); } int foo(int b){ int fooloc1 = 42; int fooloc2 = 943; print_stack(); return b + 200; } int main(){ int main_var = 23; // int a = foo(main_var); recursive(5); // printf("main_var = %d, a = %d\n", main_var, a); return 0; }