자동 할당
(Automatic Allocation)
- 블록이 종료되면 저장 공간이 반납되는 방법
정적 할당
(Static Allocation)
- 프로그램이 종료되면 저장 공간이 반납되는 방법
재귀함수, 순환함수
(Recursive Function)
- 자기 자신을 호출하는 함수
학습내용
|
일반적으로 프로그램을 작성할 때 자동 저장 유형을 가지는 변수를 사용하면 좋은데, 그 이유는 무엇일까요?
자동 저장 유형은 프로그래머가 신경 쓰지 않아도 생성되었다가 소멸되므로 메모리를 효율적으로 사용하게 해줍니다. 또한 자동 저장 유형을 사용하는 경우, 함수나 블록을 다른 함수나 블록에 대하여 독립적으로 만들 수 있습니다.
Quiz 01extern으로 변수를 정의하면 저장 공간이 할당된다.
- 1 O
- 2 X
정답 :2
해설 :extern으로 변수를 정의하는 것은 외부에서 선언된 변수를 사용한다는 의미에 불과하다.
Quiz 02다음 중 변수의 저장 유형 지정자에 해당하지 않는 것은?
- 1 auto
- 2 register
- 3 dynamic
- 4 static
정답 :3
해설 :저장 유형 지정자에는 auto, register, static, extern가 있다.
Quiz 03변수를 CPU 내부의 레지스터에 저장시키는 지정자는 무엇인가?
- 1 auto
- 2 register
- 3 dynamic
- 4 static
정답 :2
해설 :register는 변수를 CPU 내부의 레지스터에 저장시키는 지정자이다.
학습정리
1. 함수의 생존 시간
- 생존 시간에 따른 변수 분류에는 정적 할당과 자동 할당이 있음
- 변수 선언 위치에 따라 전역 변수와 지역 변수로 구분
- 저장 유형 지정자에는 auto, register, static, extern가 있음
2. 재귀 함수의 개념
- 재귀함수는 자기 자신을 호출하는 함수이며, 탈출 조건이 반드시 필요함
- 대표적인 예: 팩토리얼(factorial) 문제, 하노이탑 문제 등
- 일정한 규칙을 갖고 동일한 유형의 작업을 반복 처리하는 경우에 사용
- 스택(stack)이라는 메모리 공간을 많이 사용하는 단점이 있음
'컴퓨터공학 > C언어' 카테고리의 다른 글
C언어 11 - 2 배열과 함수 (0) | 2021.11.14 |
---|---|
C언어 11 - 1 배열의 개념 (0) | 2021.10.30 |
C 언어 10 - 1 함수와 기억 클래스 (0) | 2021.10.23 |
C 언어 9 - 2 함수 호출 (0) | 2021.10.19 |
C 언어 9 - 1 함수의 개념 (0) | 2021.10.14 |