개발자가 될 때 까지..
Memory management, dynamic allocation
프로그램을 실행하면 변수, 함수 등 동작 되는 모든 아이들은 운영체제에 의해서 메모리 공간이 생긴다.
메모리 공간이 생기면 변수, 함수 등은 주소값을 부여받게 되고 그들을 사용할 수 있다.
이 메모리 공간은 "코드 / 데이터 / 힙 / 스택" 4개의 영역으로 구분되어있는데,
어떤 메모리 공간에 할당되는 가에 따라서 주소값이 얼마나 유지되는지, 쓰이는 범위 등이 결정된다.
메모리 공간을 나누는 이유는 효율성 떄문이라고 한다. 관리가 용이해지고 메모리의 접근속도가 좋아진다는.. 그런..
코드 영역
실행할 프로그램의 코드가 저장되는 메모리 공간, CPU는 저장된 명령문들을 하나씩 가져가 실행한다.
데이터 영역
전역 변수, static 변수가 할당되는 영역으로 프로그램 시작과 동시에 할당되고 종료 시에 사라진다.
프로그램이 실행 중일 때는 계속 유효한 값이다.
스택 영역
지역변수와 매개변수가 할당되는 영역으로 함수를 빠져 나가면 소멸된다.
힙 영역
프로그래머가 원하는 시점에 메모리에 공간을 할당 및 소멸하기 위한 영역으로 함수를 호출 했을 때 해당 함수의 메모리 공간을 할당하고 할당한 주소값을 반환해준다.
좀 더 자세한 내용은 참조내용 1를 확인하자, 해당 포스트는 c언어로 자세한 예시를 들고 있다.
#2018년07월16일
'개발자 레니는 지금 - > 공부하는 중' 카테고리의 다른 글
Git 입문 및 Command 참고에 좋은 사이트 (0) | 2018.09.07 |
---|---|
👻 SSL(TLS)에 대하여, 간단히 알아보는 대칭키/공개키 (0) | 2018.09.04 |
TCP/IP 소켓 연결 데이터 flush (0) | 2018.07.16 |
스크립트 언어 (1) | 2018.06.27 |
ISO 언어 코드 테이블 (2) | 2018.06.26 |