[#define에서 do{...}while(0)을 사용하는 이유는?] 에서 소개한 이유 외에 do{...}while(0)이 유용하게 사용될 수 있는 경우가 있다. 바로 goto를 사용하지 않고 중첩된 조건문을 탈출하기 위해서 do{...}while(0)을 응용할 수 있다. (옳건 그르건 간에)많은 사람들이 goto를 사용하는 것을 금기시 하기 때문에 do{...}while(0)문은 goto를 써야만 하는 경우에 좋은 대안이 될 수 있다.
바로 예제를 보고 이해하자.
if(...)
{
if(...)
{
....
goto ESCAPE;
}
}
ESCAPE:
위코드는 아래와 같이 goto없이 작성이 가능하다.
do{
if(...)
{
if(...)
{
....
break;
}
}
}while(0);
댓글 없음:
댓글 쓰기