컴퓨터 기본 개념
13강. 컴퓨터가 변수를 처리하는 방법
happyso
2020. 7. 27. 23:02
<컴퓨터가 변수를 처리하는 방법>
메모리에 적재(메모리 공간 있어야함) -> cpu가 메모리 읽어서 실행
<메모리공간 4가지로 구분 - 코드, 데이터, 힙, 스택 영역>
1. 코드 - 한줄한줄씩 실행하는 소스코드
2. 데이터 - 전역변수, 정적변수
3. 힙영역 - 동적할당변수
4. 스택영역 - 함수마다 포함되어있는 지역변수, 매개변수
<전역변수>
- 프로그램 어디서든 접근가능한 변수
- main함수가 실행되기도 전에 프로그램의 시작과 동시에 메모리에 할당
- 프로그램의 크기가 커질수로 전역변수로 인해 복잡해질 수 있음
- 메모리의 데이터 영역에 적재된다.
<지역변수>
- 특정한 블록에서만 접근할 수 있는 변수
- 함수가 실행될 때 마다 메모리에 할당되어 함수가 종료되면 메모리에서 삭제
- 메모리의 스택영역에 기록
<정적변수(지역변수 특징 + 전역변수 특징)>
- 특정한 블록에서만 접근할 수 있는 변수
- 프로그램이 실행될 때 메모리에 할당되어 프로그램이 종료되면 메모리에서 해제된다.
- 메모리의 데이터 영역에 적재된다.
- static
<레지스터 변수>
- 메인메모리 대신 cpu의 레지스터를 사용하는 변수. - 더빠름
- 레지스터는 매우 한정되어 있으므로 실제로 레지스터에서 처리될 지는 장담할 수 없다.
<함수의 매개변수가 처리될 때>
1. 값에 의한 전달방식 - 함수 내에서 변수가 새롭게 생성된다.
2. 참조에 의한 전달 - 주소를 전달하므로 원래의 변수 자체에 접근할 수 있다.(전역변수와 비슷)