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

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

▼ 그림 32‑1 goto 제어문

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

참고 | 스파게티 코드

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