정적 변수 사용하기
추천 자료: ASP.NET Core 인증 및 권한 부여
정적 변수를 만드는 static 키워드는 주로 두 가지 방식으로 사용됩니다. 하나는 함수 내부의 변수를 정적으로 만들기 위해 사용하고, 또 다른 하나는 파일 범위에서만 해당 함수나 변수를 사용하도록 제한하기 위해 사용합니다.
1. 함수 내의 정적 변수
이번에는 정적 변수를 사용해 보겠습니다.
이 경우, static
변수는 함수가 호출될 때마다 초기화되지 않습니다. 이 변수는 메모리에 한 번만 할당되며 프로그램의 생명 주기 동안 계속 값을 유지합니다. 따라서 이는 지역 변수의 생명 주기를 넘어 값을 유지하는 데 유용합니다.
코드: static_variable_in_function.c
#include <stdio.h>
void counter() {
static int count = 0; // 정적 변수
count++;
printf("현재 카운트: %d\n", count);
}
int main() {
counter();
counter();
counter();
return 0;
}
이 프로그램을 실행하면 다음과 같은 출력을 볼 수 있습니다:
현재 카운트: 1
현재 카운트: 2
현재 카운트: 3
2. 파일 범위의 정적 함수 또는 변수
이번에는 정적 함수를 사용해 보겠습니다.
이 경우, static
함수 또는 변수는 선언된 소스 파일 내에서만 액세스할 수 있습니다. 이는 함수 또는 변수의 가시성을 제한하여 캡슐화를 증가시키는 데 유용합니다.
코드: static_function_in_file_scope.c
#include <stdio.h>
static void printHello() { // 정적 함수
printf("Hello, world!\n");
}
int main() {
printHello();
return 0;
}
여기서 printHello
함수는 static_function_in_file_scope.c
파일에서만 사용할 수 있습니다. 다른 소스 파일에서 이 함수를 호출하려고 시도하면 컴파일러는 오류를 발생시킵니다. 이 방법으로 함수와 변수의 범위를 제한하면 코드의 결합도를 줄이고 캡슐화를 향상시킬 수 있습니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!