macro
-
[C Language] 4. 내장 매크로(Nested Macro) - C 언어CSE/C Language 2015. 6. 13. 10:03
대부분의 서적에서 언더라인(_)의 사용을 자제하라는 문구가 나온다. 바로 내장 매크로와 관련이 있기 때문이다. 자주 사용하는 내장 매크로에는 아래와 같은 것이 있다. __DATE__, __TIME__, __LINE__, __FILE__ 간단한 예제를 통해 살펴보자. 123456789101112131415161718/* * nested.c * * Created on: 2015. 5. 11. * Author: root */ #include int main(void) { puts(__DATE__); puts(__TIME__); printf("%d \n", __LINE__); puts(__FILE__); return 0;}cs 위 예제의 결과는 아래와 같다. * Programming in C 서적을 참고하여 작..
-
[C Language] 3. 매크로 함수(Macro function) - C 언어CSE/C Language 2015. 6. 13. 10:02
1. 간단한 매크로 함수 예제 #define ADD(x, y) x + y #define: 매크로 지시자 ADD : 매크로 함수명(중간에 공백이 있으면 안 됨) (x, y): 매크로 함수 인자 x + y: 매크로 함수 몸체 ADD()라는 매크로 함수의 인자(parameter)에 5와 7을 주면 전처리기는 ADD(5, 7)을 12라는 숫자로 바꾸어서 컴파일러에게 건네주는 것이 아니다. 단지 치환을 시키는 것 뿐이다. 다른 예로 두 수중 큰 수를 출력하는 예제를 보도록 하자. #define MAX(x, y) (x > y) ? x : y 위 예제는 삼항 연산자로 x가 y보다 클 경우 x, 아니면 y를 반환한다. - 여러 예제 #define MAX(x, y) (x > y) ? x : y #define PRINT(..
-
[C Language] 2. 매크로 변수(Macro Variable) - C 언어CSE/C Language 2015. 6. 13. 10:00
1. #define - #include는 일단 추가해주면 시스템이 알아서 처리하기 때문에 특별한 지시없이 사용가능함. - #define은 명확히 이해하지 않으면 뜻하지 않은 에러를 발생함. '매크로 변수의 유용성' 아래 예제 코드에서 100이라는 수치가 변경되어, 150으로 수정해야 한다. 아래 예제에선 일부분이므로 손 쉽게 수정가능하지만, 몇 백 라인에 해당하게 되면, 일일이 바꾸기 어렵다. 12345678910111213141516 /* * nomacro.c * * Created on: 2015. 5. 11. * Author: root */ #include int main(void) { printf("%d\n", 5 * 100); printf("%d\n", 3 * 100); printf("%d\n",..