가변인자 함수가 있듯이, 매크로도 가변인자 매크로가 있습니다. 가변인자 매크로 역시 ... 의 매개변수를 받는데요. 매크로의 경우 가변인자 함수보다 훨씬 사용하기 간편하게 되어있어 자주 사용하는 편입니다. #define VA_PRINT(fmt, ...) printf(fmt, __VA_ARGS__) 위와 같이 사용할 수 있습니다. 가변인자 함수 때처럼 va_startf나 vnprintf 따위의 매크로를 이용할 필요가 없습니다. __VA_ARGS__ 를 넣어주면 알아서 포맷으로 변환하여 출력해 줍니다. C코드 예제를 하나 만들어보았습니다. #include #define VA_PRINT(fmt, ...) fprintf(stdout, "결과: " fmt "\n", __VA_ARGS__) int main() { ..
1. # 연산자 매크로에서 # 연산자는 문자열로 변환(치환) 시켜주는 연산자 입니다. 아주 단순한 예를 들어보았습니다. 아래의 예제를 한번 살펴보도록 하겠습니다. #include #define PRINT(s) printf(#s) int main() { PRINT(THIS IS TEST CODE); return 0; } 만일 PRINT 매크로에서 s앞에 붙은 #이 빠지게 되면 오류가 발생하게 됩니다. 왜냐하면 매크로변수 s는 THIS IS TEST CODE를 받게 되는데, c 문법에 따라 따옴표가 없기 때문에 이것들을 하나의 '변수'로 인식하게 됩니다. #을 빼주고 "THIS IS TEST CODE" 라고 앞뒤로 따옴표를 붙여주면 잘 실행이 됩니다. 즉, #은 받아온 매크로변수를 문자열로 바꿔주는, 더 쉽..
- Total
- Today
- Yesterday
- ZONES
- 안시 컬러
- zone
- angular2
- 챗봇
- observable
- 스위프트
- QT
- vim
- 폰트 조정
- lua table
- itoa
- git 설정
- Rx.js
- C언어
- 리눅스 터미널 색상
- terminal 색
- git proxy
- Zone.js
- JavaScript
- Swift
- 우분투 16.04
- NgZone
- ansi color
- typeScript
- 안시 색상
- ECMA2015
- Angular
- qemu linux arm
- 타입스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |