2020년 7월 1일 수요일

Define Macro

c 에서 매크로는 메모리에 있는 데이터와 관련된 것이 아니라 코딩한 줄에 직접 관여한다.

#define functionName(p1, p2, p3..) \

내용

이렇게 되어 있다 하자.

함수 이름과 파라미터까지는 그냥 코딩할 때와 마찬가지로 메모리와 연동된다.

그 이후는 글자 그대로 사용된다. 저대로 코드를 입력한게 된다는 말이다.

그래서 자주생기는 실수가 연산자 우선순위이다.

#define functionName(p1, p2) \

p1/p2

이렇게 되어있고 functionName(3+4, 1+2) 를 쓴다고 하자.

그럼 이건 매크로라서 컴파일할 때 3+4/1+2 라고 코딩한것이 된다.

괄호를 안쓴게 되니까 우리가 원하던 결과가 나오지 않는다.

이거가지고 간단한 함수 매크로를 만든 예가 아래이다.

신기방기

댓글 없음:

댓글 쓰기

List