Static Functions in C

해당 C 파일 안에서만 사용되도록 제한

Posted 2022-03-01 17:00:00 ‐ 1 min read

규모가 큰 함수는 여러 하위 함수로 기능을 나눌 수가 있는데, 하위 함수가 불필요하게 라이브러리에 배포되는 것을 막기 위한 방법으로 static 키워드를 사용할 수 있다.

정적함수(Static functions)1

정적함수는 선언된 파일 안에서만 사용할 수 있도록 접근 권한이 제한된다.

따라서 아래처럼 정적함수로 정의된 함수를 다른 c 파일에서 사용할 수 없다.

/* Inside file1.c */ 
static void fun1(void)
{
  puts("fun1 called");
}
/* Inside file2.c  */ 
int main(void)
{
  fun1(); // -> ERROR: undefined reference to 'fun1'
  getchar();
  return 0;  
}

참고문헌