카테고리 없음

매크로 함수

도영수 2017. 2. 13. 21:23
주의사항

  1. 매크로 함수는 전체식에 괄호를 사용해야 한다.

    ex) #define a(i) (i+i)


  2. 매크로의 인수들도 개별적으로 괄호로 싸 준다.

    ex) #define a(i) ((i) * (i))


  3. 매크로 함수는 인수의 타입 같은 것은 점검하지 않는다.

    ex) #define a(p) (*p++)


  4. 매크로 함수에 여러 개의 명령을 동시에 포함시킬 수 있다.

   - 명령이 여러개가 있을 경우에는 { } 를 활용하여 표시한다.

    ex) #define Print(x,y,str) { gotoxy(x,y); Puts(str); }

    - 여러 줄로 표시하고 싶을 때는 \를 넣는다.

    ex) #define Print(x,y,str) \

         { clrscr(); \

           gotoxy(x,y); \

           puts(str); }

   5. 매크로 함수에는 ++, -- 연산자는 사용하지 않는 것이 좋다.

      -> 연산 과정이 복잡하고, 컴파일러에 따라 연산 결과가 다를 수 있다.


   6. 매크로 함수를 남용하지 말고, 적절하게 사용하자

     ex) #define abs(s) (((a) > 0 ) ? (a) : (-a))

      ex) #define i2m(i) ((i)*25.4


http://soen.kr/ 정리