• 검색 결과가 없습니다.

7주차2강. 변수의존재기간과접근범위변수의존재기간과접근범위

N/A
N/A
Protected

Academic year: 2022

Share "7주차2강. 변수의존재기간과접근범위변수의존재기간과접근범위"

Copied!
13
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

현승일 교수

7주차 2강. 변수의 존재기간과 접근범위

(2)

학습내용

학습목표

1. 지역변수의 개념 2. 전역변수의 개념

3. static변수와 register변수

1. 지역변수의 개념에 대해 설명할 수 있다.

2. 전역변수의 개념에 대해 설명할 수 있다.

3. static변수와 register변수에 대해 설명할 수 있다.

(3)

변수의 특징에 따른 분류

1. 지역변수의 개념(1)

변수를 나누는 기준 - 메모리 상의 존재 기간

- 변수에 접근할 수 있는 영역

변수의 특성에 따른 분류

- 지역 변수(Local Variable) : 중 괄호 내(함수 내)에 선언되는 변수 - 전역 변수(Global Variable) : 함수 내에 선언되지 않는 변수

- 정적 변수(Static Variable) : 함수 내부, 외부 모두 선언 가능 - 레지스터 변수(Register Variable) : 선언에 제한이 많이

따름(compiler 에 의해 결정됨)

(4)

지역변수

1. 지역변수의 개념(2)

지역변수 (local variable)

- 중괄호 내에 선언되는 변수는 모두 지역변수임 - 지역변수는 해당지역을 벗어나면 자동으로 소멸됨

- 지역변수는 선언된 지역 내에서만 유효하기 때문에 선언된 지역이 다르면 이름이 같아도 문제가 되지 않음

- 지역변수는 스택(stack)이라는 메모리에 저장됨

(5)

지역변수의 예

1. 지역변수의 개념(3)

지역변수는 스택에 함수 방문 시 마다 매번 할당되고 종료 시 소멸됨

(6)

전역변수

2. 전역변수의 개념(1)

프로그램이 처음 실행되면 메모리 공간에 할당되어서 프로그램이 종료될 때까지 메모리 공간에 남아있는 변수

특징

1) 프로그램의 시작과 동시에 메모리 공간 할당, 종료 시까지 존재 2) 별도의 값으로 초기화하지 않으면 0 으로 초기화

3) 프로그램 전체 영역 어디서든 접근이 가능

전역변수가 많아지면 복잡해지고, 좋은 구조의 프로그램과는 거리가 멀어짐(전역변수의 사용을 최소화 하는 것이 좋음)

(7)

전역변수의 예

2. 전역변수의 개념(2)

전역변수 초기 값 : 0

프로그램 전체에 영향

(8)

전역변수의 예

2. 전역변수의 개념(3)

전역변수와 동일한 이름의 지역변수 사용?

 해당 지역 내에서

가까운 곳에서 정의된 것이 우선함

전역변수와 지역변수 명을 같이 사용하는 것은 좋지 못함

(9)

static 변수

3. static변수와 register변수(1)

지역변수의 특징

- 선언된 함수 내에서만 접근이 가능함

- 함수 내에서 선언된 지역변수는 해당 함수가 반환하면 소멸됨

지역변수에 static 이 붙은 경우

- 선언된 함수 내에서만 접근이 가능함(지역변수 특징) - 딱 1회 초기화되고 프로그램 종료 시까지 메모리 공간에

존재함(전역변수 특징)

- static 으로 선언된 지역변수는 전역변수와 동일한 시기에 할당되고, 소멸됨

(10)

static 변수의 예

3. static변수와 register변수(2)

Static 변수는 전역변수랑 같은 성격을 가짐

- 전역변수 처럼 0으로 초기화 - 프로그램 시작 과 동시에 할당

및 초기화 되어서 프로그램이 종료될 때 까지 메모리 공간에 남아 있음

선언위치 : 접근범위를 제한하기 위하여 함수 내 위치

(11)

register 변수

3. static변수와 register변수(3)

지역변수에서 선언 가능

레지스터는 CPU 내에 존재하는 그 크기가 매우 작은 메모리임.

하지만 CPU내에 존재하기 때문에 이 메모리에 저장된 데이터를 대상으로 하는 연산은 매우 빠름

레지스터에 저장여부는 전적으로 compiler 가 결정함

전역변수는 register 변수로 사용할 수 없음

(12)

정리하기

1. 지역변수의 개념

- 지역 변수(Local Variable) : 중 괄호 내(함수 내)에 선언되는 변수

2. 전역변수의 개념

- 전역 변수(Global Variable) : 함수 내에 선언되지 않는 변수

3. static변수와 register변수

- 정적 변수(Static Variable) : 함수 내부, 외부 모두 선언 가능

- 레지스터 변수(Register Variable) : 선언에 제한이 많이 따름 (compiler 에 의해 결정됨)

(13)

다음시간에는…

에 대해 학습해 보겠습니다.

참고문헌

7주차. 함수

3강. 함수 및 변수를 활용한 프로그래밍 실습

참조

관련 문서

Reverse stack effect is not as significant a problem in tall buildings in warm climates because the difference in temperature between inside and outside the building

② 전역 변수가 선언된 소스 파일의 헤더 파일에 전역 변수에 대한 extern 선 언을 넣어준다. 전역 변수의 extern 선언은 메모리를 할당하지

그러나, 효율성의 측면에서는 크게

입력시와 수신시가 다르면

- 상담을 통한 치료가 이루어지더라도 결국 가정으로 돌아가 다시 변화 되지 못한 가족의 영향을 받는다는 것. - 원가족의 문제가 이성관계, 부부관계, 가족 간의 불화

- (Metallurgical junction 부근의) p형 반도체의 정공은 n형 반도체로 이동, n형 반도체의 전자는 p형 반도체로 이동 (계속적 진행은 되지

 문자(char)를 데이터 타입으로 하는 스택 S가 주어져 있을 때 스택 내부의 문자를 순서대로 출력하는 함수 를 작성하고 테스트 해라. 이함수는 스택에 정의된 push,

• 사일로 갂의 장벽 때문에 제공물과 마케팅프로그램이 연결되지 않음. 사일로 연결