Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[858] [참고]'프로그래머의 책임'을 가볍게 하는 방법
김백일 [cedar] 1913 읽음    2002-07-11 01:23
조준회 님이 쓰신 글 :
:
: C/C++에선 당연한 결과입니다.
:
: 배열의 연산등에서..
: C/C++은 끝을 검사하지 않습니다.
:
: 아래코드처럼 하면.. 당연히 메모리 영역 파괴가 일어나고..
: 그 부분에 중요한 자료가 있으면.. 원하지 않는 현상이 발생합니다.
:
: 언어자체가 상당히 자유롭지만...
: 이런 경우에 대한 것은 프로그래머의 책임으로 넘기고 있습니다.

첨자의 범위를 검사하려면,
C/C++ 배열의 대체물인 ANSI C++ 라이브러리의 vector나 deque 컨테이너를 쓰면 편리합니다.
(물론 첨자의 범위를 검사하지 않으면, vector나 deque에서도 마찬가지 현상이 발생하지요.)
이에 관련한 내용을 C/C++ Tip'N Tricks에 올렸습니다. 참고하세요.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=cpp_tip&no=29

: 조성택 님이 쓰신 글 :
: :     int a[3];
: :
: :     int temp;
: :
: :
: :     for(temp=0;temp<10;temp++)
: :     {
: :     a[temp] = temp;
: :     }
: :
: :     for(temp=0;temp<10;temp++)
: :     {
: :     printf("%d\n",a[temp]);
: :     }
: :
: : 이렇게 해서 출력하니 0~9까지 다 출력이 되네요..
: : 분명 a[3] 해줬는데..런타임에러도 안나고 왜 그렇죠??
: :

+ -

관련 글 리스트
3451             Re:Re:Re:컴이 다운되는건 런타임에러 아닌가요? 김백일.cedar 1856 2002/07/11
3450             Re:Re:Re:컴이 다운되는건 런타임에러 아닌가요? 김백일.cedar 1750 2002/07/11
3449             Re:Re:Re:컴이 다운되는건 런타임에러 아닌가요? 김백일.cedar 1834 2002/07/11
3448             Re:Re:Re:컴이 다운되는건 런타임에러 아닌가요? 김백일.cedar 1781 2002/07/11
3447             Re:Re:Re:컴이 다운되는건 런타임에러 아닌가요? 김백일.cedar 1948 2002/07/11
3446             Re:Re:Re:컴이 다운되는건 런타임에러 아닌가요? 김백일.cedar 1870 2002/07/11
3445             Re:Re:Re:컴이 다운되는건 런타임에러 아닌가요? 김인구.구야 1786 2002/07/11
3444             Re:Re:Re:컴이 다운되는건 런타임에러 아닌가요? 김인구.구야 1925 2002/07/11
852     Re:배열에서 조준회 1749 2002/07/10
858         [참고]'프로그래머의 책임'을 가볍게 하는 방법 김백일 1913 2002/07/11
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.