2012. 7. 15. 13:17 devel/man & example
#define 문자열 치환 및 합치기
출처 : 윤성우의 열혈강의
Preprocessor 항목 부분
책을 친구에게 주려고 필요한 부분은 발췌해서 정리 헤헷
#include <stdio.h>
#define STRING_JOB(A, B) #A "의 직업은 " #B "입니다."
int main()
{
printf("%s, \n", STRING_JOB(으아아아, 떨어진드아아아아));
return 0;
}
# operator 역할
#define STRCAT(ABC) #ABC
STRCAT의 argument ABC를 문자열ABC로 치환한다
more tip
문자열은 나란히 선언하면, 하나의 문자열로 간주가 된다.
따라서 다음과 같이 문자열을 선언하는 것도 가능하다.
char* str="ABC" "DEF";
이는 다음과 동일하다
char* str="ABCDEF";
char* str=STRCAT(12) STRCAT(34);
문자열을 잇고 싶습니다
## operator
#define CON(UPP, LOW) UPP ## 00 ## LOW
int num = CON(22, 77);
-> 선행처리기에 의하여 컴파일 이전에 다음과 같이 치환된다
int num = 220077;
data type이 int형임을 유의깊게 보시오
'devel > man & example' 카테고리의 다른 글
const (0) | 2012.07.21 |
---|---|
#define function macro (0) | 2012.07.15 |
strstr (0) | 2012.01.28 |
arm inline assembly (0) | 2011.12.24 |
thread starvation (0) | 2011.12.09 |