알고리즘의 실행속도가 빨라진다.
함수가 호출될때마다 처리해야하는 작업들이 생략
메모리 사용 측면에서 일반 함수보다 불리하다.
인라인 함수가 몇번 호출되었든간에 코드 자체가 호출된 부분에 삽입되어야하기 때문에 메모리 낭비가 이뤄진다.
inline void Prnt(){
printf("Helloworld");
}
inline int Plus(int a, int b){
return a+b;
#define으로 시작하는 문장을 매크로라고 한다.
함수처럼 인자를 설정할 수 있는 매크로
인라인 함수와 마찬가지로 호출되면 그 자리에 사본을 붙여넣어 코드 자체가 실행된다.
인자의 자료형을 선언하지 않는다.
자료형의 독립성을 보장
매크로 함수 내부에서 자기 자신을 호출할 수 없다.
#define SWAP(a,b,c) {a=b; b=c; c=a;}
#define mul1(x,y) x*y
#define mul2(x,y) (x)*(y)
곱셈처럼 연산 순서에 영향을 미칠 수 있는 것은 괄호를 명시해준다.
( x = num+1, y = num2+1 이면 mul1 은 num+1*num2+1 로 수행한다.)
# 연산자를 사용하면 인자의 자료형을 문자열로 바꿔줄 수 있다.
#defind add(x,y) #x "+" #y