int* makeA()

{

int a[3] = { 1, 2, 3 };

return a;

}


int main()

{

int* a = makeA();


cout << *a << '\n';

cout << *a << '\n';

}


makeA 안에서 정적 할당한거를 포인터로 넘겼는데

일관되게 쓰레기값이 나오면 모르겠는데...왜 두 출력이 다른지 모르겠어요

첫째 줄에서는 1이 나오는데 둘째 줄에서는 쓰레기값이 나오네요

대체 원인이 뭔가요??