2015년 5월 19일 화요일

C/C++의 goto 명령

 goto문은 예전에 많이 쓰이던 프로그램언어에서 반복문을 만들 때 사용하던 명령어이다. 프로그램 중간에 주소(이름)을 만들어 지정해 주고 goto문을 사용하여 그 지점으로 한 번에 프로그램 수행을 이동할 수 있다.

label:
   .....
   ......
   goto label;

 goto 명령은 원하는 곳으로 무조건 이동을 수행한다. 아무 곳으로라도 즉시로 이동할 수 있어 일견 굉장히 편하고 유용한 명령어처럼 보이나 프로그램의 구조를 저해하는 문제점을 내포하고 있어서 일반적으로 잘 쓰이지 않는 명령어이다. 대부분의 경우는 break, continue와 같은 명령어를 이용하여 문제를 해결할 수 있기 때문이다.

 하지만 다중루프를 한 번에 빠져나가야 하는 경우에는 break문을 복잡하게 사용하기보다는 goto문이 쓰이기도 한다. 아래의 예를 살펴보자.

   for(...) {
       for (...) {
           for(...) {
               if (...) goto OutOfHere;
           }
       }
   }
OutOfHere:
   ......
   ......

 goto문은 실제 프로그램에서 거의 쓰이지 않으므로 구체적인 예제는 생략한다.


댓글 없음:

댓글 쓰기