현재 visual studio 2017 사용중입니다.
void fun()
{
int a[2] = {1,2};
int b[2] = {1,2};
}
int main(void)
{
fun();
return 0;
}
해당 함수 실행시, fun 스택 적재 순서는
9. b[0] (한 단계당 4바이트라고 가정)
8. b[1]
7. 0xcccccccc
6. 0xcccccccc
5. a[0]
4. a[1]
3. 0xcccccccc
2. main 함수 ebp
1. main return 주소
이렇게 되는걸로 알고 있습니다.
나머진 다 이해가는데, 왜 굳이 변수 양 사이드에 0xcccccccc값을 남겨둔채
적재하는지 이해가 가질 않습니다.