스택(Stack), 힙(Heap) |
||
C/C++ 에서의 스택이니, 힙이니 하는 것들은 C/C++ 컴파일러에서 메모리 핸들링 하는 것에 대한 기능적 메모리 구분 명칭. (타겟 시스템에 하드웨어적으로 스택, 힙 영역의 메모리가 따로 있는 것 아님)
Stack 1. 프로그램의 "함수내"에서 선언된 지역변수(자동변수) 저장되는 메모리. 2. 함수가 끝나면 stack 에 저장된 것은 프로그램 코드에서 명시적 제거 처리 하지 않아도 자동 삭제됨.
Heap 1. 프로그램에서 "동적 생성"한 경우 Heap 에 저장됨. - 동적 생성이란, new, malloc 함수 등으로 메모리 할당하는것을 의미함. 2. Heap 에 생성된 메모리는 자동 삭제되지 않음. 프로그램내에서 명시적으로 제거처리(delete, free 등) 해야 삭제됨.
코딩 실전 지식. 코딩 실전에서는 stack 구조니, heap 구조니... 이 딴게 아니라, 아래 사실을 필수 숙지하고 있어야 함.
기타 메모리. 상기 stack, heap 외에 컴파일러에서 관리하는 메모리 명칭은 아래와 같은 것들이 있음.
BSS : 전역변수(초기값 없는) 저장소. DATA : 전역변수(초기값 있는) 저장소. CONST : 변수초기화 데이터. 상기 DATA의 초기화 값을 의미함. RODATA: 상수값들. 메모리 구분 상세정보 위키 : https://ko.wikipedia.org/wiki/%EB%8F%99%EC%A0%81_%EB%A9%94%EB%AA%A8%EB%A6%AC_%ED%95%A0%EB%8B%B9 |
||
|
연관
상위 정리글
Visual Studio/VC++/C/C# 활용정리 -> http://igotit.tistory.com/11
첫 등록 : 2016년 1월 4일
최종 수정 : 2019년 12월 28일
단축 주소 : https://igotit.tistory.com/532
'VisualStudio.C++.C# > C . C++' 카테고리의 다른 글
C/C++. 구조체 변수 선언 동시 멤버 초기화 (0) | 2020.01.10 |
---|---|
C, C++. 상수 2진수 , 16진수 (0) | 2020.01.03 |
C/C++. 구조체 메모리 동적 할당. malloc , free (0) | 2019.12.28 |
C/C++. #error. 컴파일시 사용자 지정 오류 메시지 출력 하고 컴파일 종료 (0) | 2019.10.22 |
C/C++. #define. #, ## 등 (0) | 2019.10.22 |
댓글