리루

[C언어] 메모리 영억 본문

# Algorithm

[C언어] 메모리 영억

뚱보리루 2017. 1. 5. 22:01

Code Segment

Data Segment

Stack



Heap

[메모리 구조]


입력 매개변수

리턴값

임시기억장소

상태정보저장

출력 매개변수

[활성 레코드의 메모리 구조]



- 코드 영역에는 프로그램이 실행될 때 수행되는 기계어가 들어간다.

- 정적 자료 영역에는 전역변수와 static local variable 같이 프로그램이 실행되는 동안 항상 존재하는 자료가 들어간다.

- 은 malloc 함수를 통해 할당되는 메모리처럼 동적으로 할당되는 메모리 공간이다.

- 스택에는 함수 호출 관련 정보가 들어간다.

- 관례상 합 영역은 프로그램 메모리의 한쪼 끝에서 위로 커져가고, 스택은 반대로 끝에서 아래로 커져간다.



- C 프로그램에서 함수가 호출될 때 호출과 관련된 정보를 보존하기 위해 스택에서 메모리 블록을 할당 받는다.

- 각 호출은 활성(activation)이라고도 불려진다. 스택에 할당되는 메모리 블록은 활성 레코드 또는 스텍 프레임으로 불려진다.

- 입력 매개변수는 호출에 전달되는 매개변수이다.

- 출력 매개변수는 호출 내부에서 함수를 호출할 때 전달하는 매개변수이다.

- 한 호출의 출력 배개변수는 스택의 다음에 위치하는 호출의 입력 매개변수가 된다.

- 활성 레코드는 호출이 종료될 때까지 스택에 남아있게 된다.

'# Algorithm' 카테고리의 다른 글

[자료구조] 해시 테이블  (0) 2017.01.15
[자료구조] 집합(set)  (0) 2017.01.12
[C언어] 재귀  (0) 2017.01.05
[C언어]포인터  (0) 2017.01.04
자료구조 & 소프트웨어 공학 소개  (0) 2017.01.03