피씨컴 2013. 2. 5. 21:47

★ 메모리공간

● 지역 : {, } 사이의 공간으로 다른 공간과 구분되는 공간

● 상위, 하위 : 소스상 위와 아래 먼저 실행되는 것이 상위 나중에 실행되는 것이 하위

 

 

※ 선언지역에 따른 분류 전역변수와 지역으로 나뉜다.

 

 

●  전역변수 :

- main 함수 밖에

- 선언할때(프로그램이 시작될때) 생성되어 종료할때 소멸

- 같은 파일 내에서라면 어디서든 참조가 가능

- 초기화 하지 않아도 자동 0 초기화

 

● 지역변수

- 해당지역인 {, } 안에서만 사용가능

- 선언할때 생성되어 해당지역 {, } 을 벗어나면 소멸

- 상위 변수나 전역변수와 이름이 같다면 {, } 안의 지역변수가 우선 실행 된다.

 

● 정적변수

- 앞에 static이 붙은 것

- 프로그램이 시작 될때 생성되어 프로그램 종료시 소멸

- 선언시 한번만 초기화 (대입은 가능)
- (지역에 선언한 정적변수는 지역의 특색을 가짐?????)

 

● 스택영역 :

- 코드 실행중 함수부분의 위치에 대해서도 저장

- 후입선출의 데이터 구조를 가지고 있다(스택의 정의)

 

 

심화부분

- 메모리를 저장하는 방법이 존재한다.

- CPU마다 저장하는 순서가 다르다

- 빅엔디안 리틀엔디안이 있다?

 

● Call by Valve

● Call by Adress (int * a)-> 주소에 의한 전달???

● Call by Reference (int & result)-> 참조에 의한 전달