매크로 정의하기
#define은 특정 값에 이름을 붙이거나 코드를 조합하여 함수 형태로 만들 수 있습니다. 매크로를 사용하면 전처리기를 거쳐 내부적으로 소스 코드가 일괄 변환됩니다.
// 값을 매크로로 정의 // 10을 COUNT로 정의 #define 매크로이름 값 #define COUNT 10 // 여러 줄을 매크로로 정의 // printf 세 줄을 PRINT_NUM3으로 정의 #define 매크로이름 코드1 \ #define PRINT_NUM3(x) printf("%d\n", x); \ 코드2 \ printf("%d\n", x + 1); \ 코드3 printf("%d\n", x + 2); // 값을 붙이는 매크로 정의 // a와 b를 붙이는 CONCAT 매크로 정의 #define 매크로이름(a, b) a##b #define CONCAT(a, b) a##b
함수 모양의 매크로 정의하기
// 함수 모양으로 매크로 정의 // 숫자를 출력하는 PRINT_NUM 매크로 정의 #define 매크로이름(x) 함수(x) #define PRINT_NUM(x) printf("%d\n", x) #define 매크로이름(x) 코드조합 // do while (0)을 이용하여 매크로 안에서 변수 선언. // if, else에서 컴파일 에러 방지 #define SWAP(a, b, type) do { \ type temp; \ temp = a; \ a = b; \ b = temp; \ } while (0)
매크로 해제하기
// 정의한 매크로 해제 // COUNT 매크로 해제 #undef 매크로 #undef COUNT
공부 : c언어 코딩도장
댓글
댓글 쓰기