반응형
선행처리
컴파일 이전의 처리
#문자로 시작
ex) #define PI 3.14
(지시자) (매크로) (매크로몸체)
==오브젝트와 유사한 매크로 == 매크로 상수
매크로
매크로를 정의할때는 괄호를 하나하나 하자!
두 줄 이상을 정의할 때는 \ 를 사용
매크로 함수
장점 단점
일반 함수에 비해 실행속도가 빠름 |
정의하기가 까다로움 |
자료형에 따라서 별도로 함수를 정의하지 않아도 됨 |
디버깅하기가 쉽지 않음 |
따라서 작은 크기의 함수나 호출의 빈도수가 높은 함수에 매크로를 사용함
조건부 컴파일
#if... #endif |
참인 if문만 삽입 |
#ifdef... #endif |
매크로가 정의되어 있을경우 동작 |
#ifndef... #endif |
매크로가 정의되어 있지 않은경우 동작 |
#else |
나머지의 경우 |
#elif |
#if에만 사용 (else if와 같은 의미) |
<문자열을 사용하고 싶을 경우 #사용>
ex) define STR(ABC) #ABC
문자열 ABC가 됨
문자열을 나란히 선언할 경우 하나의 문자열로 간주함
<단순하게 결합 ##사용>
매크로 함수의 전달인자를 다른 대상(전달인자. 숫자. 문자. 문자열등)과 이어줄 때 사용
반응형
'언어 > C' 카테고리의 다른 글
[C] 메인함수 정의 (0) | 2019.01.11 |
---|---|
[C] 파일의 분활과 헤더파일 (0) | 2019.01.11 |
[C] 메모리 관리 & 동적 할당 (0) | 2019.01.09 |
[C] 파일 입출력 (0) | 2018.12.07 |
[C] 구조체 (0) | 2018.12.04 |
댓글