Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어 인라인 함수(Inline Function)란? 개념과 예제로 쉽게 이해하기

인라인 함수란 무엇인가?

인라인 함수(Inline Function)는 함수가 호출되는 지점에 함수 본문 코드가 직접 대체되어 삽입될 수 있는 함수를 말합니다. 다만, 함수 호출을 실제 코드로 치환할지 여부는 항상 컴파일러가 최종적으로 결정한다는 점을 기억해야 합니다.

인라인 함수의 주요 특징

  • 일반적인 함수 호출 시 발생하는 오버헤드를 줄이기 위해, 함수 호출 부분이 실제 프로그램 코드로 대체됩니다.

  • 인라인 함수는 주로 간단한 연산에 적합하며, 규모가 큰 계산이나 긴 코드에는 부적합합니다.

  • 형태는 일반 함수와 거의 동일하며, 유일한 차이점은 함수 이름 앞에 inline 키워드를 붙인다는 것입니다.

인라인 함수 선언 문법

인라인 함수는 아래와 같은 문법으로 작성합니다.

inline function_name () {
    // 함수 정의
}

예제 코드

다음은 C 언어에서 인라인 함수를 사용하는 프로그램 예제입니다.

#include<stdio.h>

inline int mul(int a, int b) {  // 인라인 함수 선언
    return(a * b);
}

int main() {
    int c;
    c = mul(2, 3);
    printf("Multiplication:%d\n", c);
    return 0;
}

실행 결과

위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Multiplication:6

정리

위 예제에서 mul(2, 3)이라는 함수 호출은 컴파일 과정에서 return(2 * 3) 형태의 실제 코드로 대체될 수 있습니다. 이렇게 하면 함수 호출에 따른 스택 처리 오버헤드가 줄어들어 실행 속도가 향상될 수 있습니다. 하지만 모든 인라인 요청이 반드시 수행되는 것은 아니며, 컴파일러는 함수의 크기나 재귀 여부 등을 판단하여 인라인 확장을 생략할 수도 있습니다.