[C++] Stack Frame 스택 프레임
Stack Frame 스택 프레임
인프런 Rookiss님의 'Part1: C++ 프로그래밍 입문' 강의를 기반으로 정리한 필기입니다.
😎[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문 강의 들으러 가기!
스택
스택: 높은 메모리주소 -> 낮은 메모리주소 방향으로 증가
전체 코드
더보기
#include <iostream>
using namespace std;
// 호출 스택
void Func1()
{
cout << "Func1" << endl;
Func2(1, 2);
}
void Func2(int a, int b)
{
cout << "Func2" << endl;
Func3(10);
}
void Func3(float a)
{
cout << "Func3" << endl;
}
int main()
{
cout << "main" << endl;
Func1();
return 0;
}
순서가 안 맞으면 빌드가 안 된다.
더보기
#include <iostream>
using namespace std;
void Func3(float a)
{
cout << "Func3" << endl;
}
void Func2(int a, int b)
{
cout << "Func2" << endl;
Func3(10);
}
void Func1()
{
cout << "Func1" << endl;
Func2(1, 2);
}
int main()
{
cout << "main" << endl;
Func1();
return 0;
}
전체코드
더보기
#include <iostream>
using namespace std;
// 스택 프레임
void PrintNumber(int number)
{
cout << "넘겨주는 숫자는 " << number << " 입니다" << endl;
}
int MultiplyBy(int a, int b)
{
int c = a * b;
return c; // c는 지역변수
}
// F5 : 브레이크 포인트까지 실행
// F10 : 프로시져 단위로 실행
// F11 : 한 단계씩 코드 실행
int main()
{
int a = 3;
int b = 5;
int result = MultiplyBy(b, a);
PrintNumber(result);
return 0; // 생략하는 경우도 있다. 반환하는 값이 없는 경우 VS 컴파일러가 0으로 반환한다. 그래서 생략해도 정상적으로 작동할 때가 있는것이다.
}
http://www.tcpschool.com/c/c_memory_structure
http://www.tcpschool.com/c/c_memory_stackframe
'⭐ Programming > C++' 카테고리의 다른 글
[C++] 호출 스택 (0) | 2022.03.22 |
---|---|
[C++] 지역변수와 값 전달 (0) | 2022.03.21 |
[C++] 함수기초 (0) | 2022.03.21 |
[C++] Enumeration 열거형 (0) | 2022.03.20 |
[C++] 가위 바위 보 (0) | 2022.03.20 |
댓글
이 글 공유하기
다른 글
-
[C++] 호출 스택
[C++] 호출 스택
2022.03.22 -
[C++] 지역변수와 값 전달
[C++] 지역변수와 값 전달
2022.03.21 -
[C++] 함수기초
[C++] 함수기초
2022.03.21 -
[C++] Enumeration 열거형
[C++] Enumeration 열거형
2022.03.20