매크로는 함수 대신에 사용하는 것으로써, 위 소스코드와 같이 짧은 문장에 주로 사용되며, 복잡한 문장을 단순화 하기 위해서도 사용한다. 매크로를 정의하기 위해서는 #define 문을 사용한다.

3번째 줄 : 최대값을 구하는 매크로 MAX를 작성한다. 주어진 a,b는 함수에서처럼 인수의 역할을 하며, 16번째 줄에서 사용된 MAX(i,j)를 " i > j ? i : j "로 치환해준다

4번째 줄 : 최소값을 구하는 매크로 MIN를 작성한다. 주어진 a,b는 함수에서처럼 인수의 역할을 하며, 17번째 줄에서 사용된 MIN(i,j)을 " i < j ? i : j "로 치환해준다

여기에 사용된 MAX(i,j)가 매크로이므로 이 문장은 컴파일러에 의해 다음처럼 변경된다.

printf("최대값은 %d입니다.\n", i > j ? i : j );

즉, 매크로는 함수와는 전혀다르며, 매크로를 사용한 모든 곳은 위와 같이 해당 매크로가 선언된 문장처럼 컴파일 시 자동으로 변경된다.
Posted by 츠큐파 ChQPa

댓글을 달아 주세요