본문 바로가기

Programming/C&C++&C#

[C언어]매크로 (Mecro) 사용

728x90
반응형

매크로 (Mecro)


매크로 종류

1. 단순 매크로 : 선언 자체의 의미를 갖는 매크로
2. 함수형 매크로 : 전달 인자의 형태로 변환
3. 객체형 매크로 : 치환 문자열로 단순 치환


1
2
3
4
#define MY_MECRO // 단순 매크로 선언
#define PI (3.14// 매크로 상수 선언
#define PC "Personal Computer" // 매크로 상수 선언
#define PRN(x) printf("%d\n",x) // 매크로 함수 선언
cs



매크로 장점 

1. 코드를 간결하게 만들어준다.

2. Literal 상수 사용시 유지보수 용이

3. 함수형 매크로는 실제 함수보다 처리 속도가 빠름



매크로 단점

1. 매크로 함수에서 치환리스트의 모든 매개변수에 괄호를 사용해야 한다.

2. 매크로 함수의 치환 리스트에도 괄호를 사용해야 한다.

3. 만약, 매크로 함수가 리컨을 하지 않는다면, 반드시 그 함수는 do-while로 묶어야 한다.

4. 매크로 상수에 괄호를 사용해야 한다.(2번과 같이 최외각에도 괄호 사용)

5. 매크로 함수에서 단항 연산자를 사용하면 문제가 발 생할 수 있다. -> 매크로 함수 외부에서 사용해야 한다.

6. type을 절대 매크로로 인코딩 하면 안된다. 타입을 인코딩 하려면 반드리 typedef를 써야한다.

반응형

'Programming > C&C++&C#' 카테고리의 다른 글

modern C++ 11/14 iteral & type, auto & decltype  (0) 2019.12.15
modern C++  (0) 2019.12.15
[C언어]scanf 사용시 버퍼 비우기  (0) 2019.03.10
[Linux] C++ 자료형  (0) 2018.09.29
[C++] C++ singleton 패턴 LNK2001 에러  (0) 2016.06.08