검색결과 리스트
macro에 해당되는 글 1건
- 2010.12.13 매크로에 "do while(0)" 을 쓰는 이유 31
C 언어계얼 소스코드를 보다보면 종종 아래와 같은 소스를 볼 수 있다.
처음에 이 코드를 보았을때에는 컴파일러가 무슨 장난을 치는구나 라고 생각했는데..
이유는 의외로 단순했다.
먼저 위와 같은 역할을 하도록 매크로를 짜보자.
<첫번째>
이것은 아래와 같은 if 조건이 있을대 오류가 난다.
<두번째>
그렇다면 중괄호로 묶으면 안될까?
이것은 첫번째와 같은 조건식에 넣었을때 세미콜론 때문에 오류가 나겐된다.
이와 같이 쓴다면 문제 없이 돌아간다.
하지만 대부분의 프로그래머가 줄 맨 끝에 세미콜론을 쓰는것이 익숙하기 때문에 저런 방식은 오류를 유발할 확률이 높다.
그래서 결국 위와같이 do while(0) 을 사용하게 되는것이다.
원문 : http://guntn.blog.me/100045877821
RECENT COMMENT