게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
goto 사용하면 다음과 같이 코드가 깔끔합니다.
게시물ID : programmer_5255짧은주소 복사하기
작성자 : 함해보그로
추천 : 2
조회수 : 1018회
댓글수 : 27개
등록시간 : 2014/09/02 10:19:42
goto 문으로 코드가 깔끔해집니다.
------------------------------------------
int my_init(void)
{
char *m1;
char *m2;
char *m3;
char *m4;
int mhandle;
int ret = 0;
m1 = alloc(size);
if (!m1) {
   printf("M1 memory alloc failed\n")
   ret = -1;
    goto err_m1;
}
m2 = alloc(size);
if (!m2) {
   printf("M2 memory alloc failed\n")
   ret = -2;
    goto err_m2;
}
m3 = alloc(size);
if (!m3) {
   printf("M3 memory alloc failed\n")
   ret = -3;
    goto err_m3;
}
m4 = alloc(size);
if (!m4) {
   printf("M4 memory alloc failed\n")
   ret = -4;
    goto err_m4;
}
mhandle = register_func();
if (!mhandle) {
    printf("failed to get handle\n")
   ret = -5;
    goto err_handle;
}
return 0;
err_handle:
    free(m4);
err_m4:
    free(m3);
err_m3:
    free(m2);
err_m2:
    free(m1);
err_m1:
    return ret;
}
------------------------------------------
중간에 실패 한다고 생각하면
goto 문 없이 어떻게 깔끔하게 짤 수 있을까요?

init 함수 쪽에서 goto 문을 자주 사용합니다. 



전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호