본문 바로가기

컴퓨터 기본 개념

13강. 컴퓨터가 변수를 처리하는 방법

<컴퓨터가 변수를 처리하는 방법>

메모리에 적재(메모리 공간 있어야함)  ->  cpu가 메모리 읽어서 실행

 

 

<메모리공간 4가지로 구분 - 코드, 데이터, 힙, 스택 영역>

1. 코드 - 한줄한줄씩 실행하는 소스코드

2. 데이터 - 전역변수, 정적변수

3. 힙영역 - 동적할당변수

4. 스택영역 - 함수마다 포함되어있는 지역변수, 매개변수

 

<전역변수> 

- 프로그램 어디서든 접근가능한 변수

- main함수가 실행되기도 전에 프로그램의 시작과 동시에 메모리에 할당

- 프로그램의 크기가 커질수로 전역변수로 인해 복잡해질 수 있음

- 메모리의 데이터 영역에 적재된다.

 

<지역변수>

- 특정한 블록에서만 접근할 수 있는 변수

- 함수가 실행될 때 마다 메모리에 할당되어 함수가 종료되면 메모리에서 삭제

- 메모리의 스택영역에 기록

 

<정적변수(지역변수 특징 + 전역변수 특징)>

- 특정한 블록에서만 접근할 수 있는 변수

- 프로그램이 실행될 때 메모리에 할당되어 프로그램이 종료되면 메모리에서 해제된다.

- 메모리의 데이터 영역에 적재된다.

- static

 

<레지스터 변수>

- 메인메모리 대신 cpu의 레지스터를 사용하는 변수. - 더빠름

- 레지스터는 매우 한정되어 있으므로 실제로 레지스터에서 처리될 지는 장담할 수 없다.

 

 

<함수의 매개변수가 처리될 때>

1. 값에 의한 전달방식 - 함수 내에서 변수가 새롭게 생성된다.

2. 참조에 의한 전달 - 주소를 전달하므로 원래의 변수 자체에 접근할 수 있다.(전역변수와 비슷)