Skip to content

82. 인라인 함수


1. 키워드

  • 인라인 함수


2. 인라인 함수 사용하기

  • 인라인 함수는 함수를 선언할 때 inline 키워드를 붙인다.


inline 반환값자료형 함수이름(매개변수자료형 매개변수이름)
{
}
#include <stdio.h>

// GCC에서 -std=c99 또는 -std=c11 옵션을 사용할 때는 extern inline을 붙임
// extern inline int add(int a, int b)
inline int add(int a, int b) // 인라인 함수로 정의
{
    return a + b;
}

int main()
{
    int num1;

    num1 = add(10, 20); // 인라인 함수 호출

    printf("%d\n", num1);

    return 0;
}

// 30


  • 실행을 해보면 일반 함수와 다르지 않다.
  • 하지만 다음과 같이 인라인 함수는 호출을 하지 않고 함수의 코드를 그 자리에서 그대로 실행한다.
  • 즉, 컴파일러는 함수를 사용하는 부분에 함수의 코드를 복제해서 넣어준다.


001


  • 즉, 함수 호출 과정이 없으므로 속도가 좀 더 빠르다.
  • 따라서 인라인 함수는 자주 호출되면서 속도가 중요한 부분에 주로 사용한다.
  • 단, 함수의 코드가 복제되므로 함수를 많이 사용하면 실행 파일의 크기가 커진다.

References