#include<stdio.h>

typedef struct A {
	int* px;
} A;

A foo() {
	int x = -1;
	A a;
	a.px = &x;
	return a;
	// x will be freed here. But a.px still holds a reference to x!
}

void abc() {
    int dummy[100];
    for (int i = 0; i < 100; i++) {
        dummy[i] = i;  
    }
}

int main() {
	A a = foo();
	abc();
	printf("%p %d\n", a.px, *a.px);
}
