32.0 goto로 프로그램의 흐름을 원하는 대로 바꾸기

보통 프로그램을 작성하다보면 중간의 코드는 무시하고 원하는 부분으로 건너뛰어야 하는 상황이 생기기도 합니다. 이런 경우에 사용하는 제어문이 goto입니다.

그림 32‑1 goto 제어문

goto는 별다른 제약 조건 없이 원하는 부분으로 이동할 수 있기 때문에 초보 때는 goto를 남발하는 경우 많습니다. 그러다 보니 처음부터 C 언어를 가르칠 때 goto는 가급적이면 사용하지 말라고 가르칩니다. 하지만 goto를 적절히 활용하면 중복되는 코드를 없앨 수 있고, 코드를 좀 더 간결하게 만들 수 있습니다. 특히 에러 처리에 매우 유용하기 때문에 리눅스 커널에서도 자주 사용되고 있습니다.

참고 | 스파게티 코드

스파게티 코드는 goto를 과도하게 사용해서 프로그램의 흐름이 마치 스파게티 면발처럼 꼬여있다는데서 붙여진 이름입니다. 그래서 스파게티 코드는 가독성이 떨어지고 유지보수가 매우 힘듭니다.