#include <iostream> using namespace std; int main() { cout << "Hello World!" << endl; cin.get(); return 0; }
메모리영역 | 설 명 |
Code Segment | 프로그램 코드에 대한 메모리의 할당/해제가 이루어지는 영역. |
Data Segment | static변수, 전역변수가 사용하는 메모리 영역으로 이 영역의 변수는 0으로 자동 초기화 됨. 문자열상수("Hello World")도 사용함. 프로그램 시작시 연속적인 공간으로 할당, 단, 큰 메모리 할당을 요구하는 경우, 메모리가 부족하여 할당이 실패한다면 프로그램이 죽을 수 있음. |
Stack Segment | 매개변수, 함수내의 지역변수가 사용하는 메모리 영역, OS가 알아서 해제한다. 이 영역의 변수들은 초기화하지 않으면 쓰레기값을 가진다. |
Heap Segment | malloc(), new로 동적으로 할당되는 영역, 사용자에 의해 해제된다. |
void test(int a) { cout << "Data Segment에 저장됩니다." << endl; int *p = new int[10]; delete []p; }