새소식

💻 Programming (프로그래밍)/C++

[C++] 배열의 콜스택은 어떻게 쌓일까

  • -
int main() 
{
	int a;
	int b;
	int c[3];

	cout << &a << endl;
    cout << &b << endl;
    cout << &c[0] << endl;
    cout << &c[1] << endl;
    cout << &c[2] << endl;

}

a, b, c[0], c[1], c[2] 순서대로 출력해본 결과

순서대로, a, b, c[2], c[1], c[0] 으로 쌓입니다.

처음에는 배열은 c[0] -> c[2] 순으로 스택에 쌓일 것이라 생각했는데 아니네요

c는 c[0]시작점의 포인터로도 쓰이니

*c  // c[0]

*(c+1) // c[1]

*(c+2) // c[2]

이렇게 하는 이유도 높은 주소로 향하기에 가능한 것이겠죠?

 

이중배열은 또 이렇게 쌓이겠군요 아하~

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.