HOT프로그래밍

C언어의 메모리 구조 본문

#include<LifeStyle>/상식넓히기

C언어의 메모리 구조

NetShin 2018. 4. 26. 19:40

프로그래밍을 할 때 자기가 짜고 있는 코드가 어떻게 동작하는지 알기위한 가장 좋은 방법은 머릿속으로 메모리구조를 그려나가면서 코딩하는 거라고 생각한다 그래서 이번엔 고급언어중 가장 하드웨어와 밀접한 C언어의 메모리 구조를 알아보았다


메모리 공간은 4가지로 나뉜다

코드 영역


실행 할 프로그램의 코드가 저장되는 공간으로 CPU는 이 영역에 저장된 명령문을 가져간다


데이터 영역


전역변수와 static변수가 할당된다 

이 영역에 할당되는 변수들은 시작과 동시에 메모리 공간에 할당되며 프로그램이 종료할 때 까지 남아있는다


스택 영역


지역변수와 매개변수가 할당된다

이 영역에 할당된 변수는 선언된 위치의 함수를 빠져나갈 경우 소멸된다


힙 영역


알고리즘을 짜다보면 프로그래머가 원하는 시점에 변수를 할당하고 해제하고 싶을 때가 있다(주로 malloc과 free를 사용할 때)

이 경우에 변수가 할당되는 영역이 힙 영역이다





Comments