본문 바로가기
Programming/컴퓨터프로그래밍및실습

[컴프실] 제9장: 함수와 변수

by Lizardee 2023. 7. 17.
변수의 속성
  • 범위: 변수가 사용 가능한 범위, 가시성
  • 생존 시간: 메모리에 존재하는 시간
  • 연결: 다른 영역에 있는 변수와의 연결 상태

 

변수의 범위
  • 전역변수: 함수 외부에서 선언되는 변수
  • 지역변수: 블록 안에 선언되는 변수

 

생존 기간
  • 정적 할당: 프로그램 실행 시간 동안 계속 유지
  • 자동 할당: 블록에 들어갈 때 생성, 블록에서 나올 때 소멸

▶ 생존 기간을 결정하는 요인

  • 변수가 선언된 위치
  • 저장 유형 지정자

▶ 저장 유형 지정자

  • auto
  • register
  • static
  • extern
저장 유형 지정자: auto
auto int sum = 0;
  • 변수를 선언한 위치에서 자동으로 만들어지고, 블록을 벗어나게 되면 자동으로 소멸되는 저장 유형

 

저장 유형 지정자: static
static int scount = 0;
  • 정적 지역변수로서, static을 붙이면 지역변수가 정적변수로 된다.

 

저장 유형 지정자: register
register int i;
  • CPM 안의 레지스터에 변수가 저장된다.

 

volatile
volatile int io_part; //하드웨어와 연결된 변수

void wait(void) {
	io_port = 0;
	while (io_port != 225)
		;
}
  • volatile 지정자는 하드웨어가 수시로 변수의 값을 변경하는 경우에 사용된다.

'Programming > 컴퓨터프로그래밍및실습' 카테고리의 다른 글

[컴프실] 9~12일차 실습문제  (0) 2023.07.20
[컴프실] 제10장: 배열  (0) 2023.07.19
[컴프실] 제8장: 함수  (0) 2023.07.16
[컴프실] 제7장: 반복문  (0) 2023.07.11
[컴프실] 중간고사  (0) 2023.07.10