출처 : 윤성우의 열혈강의

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
Posted by 쵸코케키

블로그 이미지
chocokeki
쵸코케키

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.4
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

최근에 올라온 글

최근에 달린 댓글

글 보관함