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

C++빌더 Q&A
C++Builder Programming Q&A
[25745] Re:이런 이런 간단한 코드마저 에러가 나다니
조준회 [] 632 읽음    2003-05-25 17:26

gets의 용법이 가물가물 하긴 합니다만..
문제가 있는 코드로 보입니다.

아래 코드에선 char* str은 포인터만 선언되어 있을 뿐 사실상 메모리 공간이
할당되어 있지 않습니다.

에러가 나지 않는 이유는 메모리 어딘가의 공간에 겹쳐쓰기가 진행되고
있기 때문입니다.

그 겹쳐쓰는 공간이 사용되지 않는 공간이라면.. 문제가 없이 넘어가지만..
그렇지 않은 경우는 당연히 실행중에 에러가 발생하게됩니다.

C/C++에선 이런 경우는 프로그래머의 잘못입니다.


김진우 님이 쓰신 글 :
:   볼랜드는 VC++에 비해서 특히 getch()함수부분에서 에러가 많이 나는거 같습니다.
:
:   #include <stdio.h>
:   #include <conio.h>
:  
:   void main() {
:      char a;
:      char* str;
:
:      printf("%s\n", "문자를 입력하십시요...");
:      gets(str);
:      a = getch();
:      printf("\n%s\n", "여기에서 부터가 출력의 시작입니다.");
:      printf("gets()에서  사용자가 입력한 문자열 : %s\n",str);
:      printf("getch()에서 사용자가 입력한 문자 : %c\n",a);
:      getch();
:      return 0;
:   }
: 위의 코드는 문자를 입력받아서 출력하는 간단한 겁니다. 이거말고 학교에서 짯던 코드에서 getch()부분에서 메모리 관련 에러가 나길래 시험삼아서 c언어 기초책에 있던 소스를 가따가 시험해보니까 역시 메모리 에러가 뜨더군요. 터보씨나 VC++은 에러 안뜨던데 
:   getch()함수부분에서 왠 메모리에러가 이렇게 많은가요?
:

+ -

관련 글 리스트
25743 이런 이런 간단한 코드마저 에러가 나다니 김진우 536 2003/05/25
32535     Re:이런 이런 간단한 코드마저 에러가 나다니 김태선 629 2003/05/25
32534     Re:이런 이런 간단한 코드마저 에러가 나다니 김상구.패패루 624 2003/05/25
32533     Re:이런 이런 간단한 코드마저 에러가 나다니 김상구.패패루 652 2003/05/25
25745     Re:이런 이런 간단한 코드마저 에러가 나다니 조준회 632 2003/05/25
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.