1-1. auto 지역변수의 특성 이해
문제설명
다음 코드는 함수가 호출될 때마다 지역변수가 어떻게 생성되는지 확인하는 예제입니다. 먼저 출력 결과를 예상한 뒤, 실제 실행 결과와 비교해 보세요.
목표
- 일반 지역변수(auto)가 함수가 끝나면 사라진다는 점을 이해한다.
- 함수가 다시 호출되면 지역변수가 새로 만들어진다는 점을 이해한다.
요구사항
- 코드를 읽고 출력 결과를 먼저 예상해 보세요.
- 왜 그런 결과가 나오는지 설명해 보세요.
코드
#include <stdio.h>
void count_auto() {
int num = 0;
num++;
printf("num = %d\n", num);
}
int main() {
count_auto();
count_auto();
count_auto();
return 0;
}
출력결과
num = 1
num = 1
num = 1
1-2. static 지역변수의 특성 이해
문제설명
다음 코드는 함수 안에 static 지역변수를 선언한 예제입니다. 출력 결과를 예상한 뒤 실제 실행 결과와 비교해 보세요.
목표
- static 지역변수는 함수가 끝나도 값이 유지된다는 점을 이해한다.
- 일반 지역변수와의 차이를 비교한다.
요구사항
- 코드를 읽고 출력 결과를 예상해 보세요.
- 왜 값이 누적되는지 설명해 보세요.
코드
#include <stdio.h>
void count_static() {
static int num = 0;
num++;
printf("num = %d\n", num);
}
int main() {
count_static();
count_static();
count_static();
return 0;
}
출력결과
num = 1
num = 2
num = 3
1-3. 전역변수의 특성 이해
문제설명
다음 코드는 전역변수를 여러 함수에서 함께 사용하는 예제입니다. 출력 결과를 예상한 뒤 실제 실행 결과와 비교해 보세요.
목표
- 전역변수는 여러 함수에서 공통으로 사용할 수 있음을 이해한다.
- 값이 한 곳에서 바뀌면 전체 프로그램에 영향을 줄 수 있음을 이해한다.
요구사항
- 코드를 읽고 출력 결과를 예상해 보세요.
- 왜 main()에서도 바뀐 값이 출력되는지 설명해 보세요.
코드
#include <stdio.h>
int count = 0;
void increase() {
count++;
}
void print_count() {
printf("count = %d\n", count);
}
int main() {
print_count();
increase();
print_count();
increase();
print_count();
return 0;
}
출력결과
count = 0
count = 1
count = 2
'[1] 프로그래밍1 및 실습(C언어) > 5주차. 함수' 카테고리의 다른 글
| [5주차][변수의 scope] 3단계 연습문제 (0) | 2026.04.01 |
|---|---|
| [5주차][변수의 scope] 2단계 연습문제 (0) | 2026.04.01 |
| [5주차][함수의 정의] 3단계 연습문제 (0) | 2026.03.29 |
| [5주차][함수의 정의] 2단계 연습문제 (0) | 2026.03.29 |
| [5주차][함수의 정의] 1단계 연습문제 (0) | 2026.03.29 |