[C언어] 매크로
C언어에서 매크로는 #define지시자를 통해 만들 수 있다. 매크로는 일반함수와는 다르게 프로그램이 컴파일 되기 전에 변경하게 된다. 다음과 같은 코드가 있다. #include #define CAL(x) x*2-1 int main(){ printf("%d\n", CAL(5) ); return 0; } 이 코드를 컴파일하게 되면, 값이 printf("%d\n", x*2-1 ); 으로 변경된다. 하지만, 이 코드에는 문제가 있다. 만약, 다음과 같다면 어떻게 될까? #include #define CAL(x) x*2-1 int main(){ printf("%d\n", CAL(5) * CAL(5)); return 0; } 보통 5*2-1 = 9이므로, 9*9 = 81을 예상하게 된다. 하지만, 매크로는 CAL..
Language/C
2013. 10. 2. 13:39
최근에 올라온 글
최근에 달린 댓글
글 보관함
- Total
- Today
- Yesterday