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

C/C++ Q/A
[5329] Re:Re:볼랜드 컴파일과 터보씨나 비쥬얼C컴파일의 차이인가요?
남병철.레조 [lezo] 1792 읽음    2005-09-24 09:25
네...  C, C++의 차이입니다.

정리하자면...
for 안에 변수 선언해서 사용하면 Turbo C는 구현되어있지 않습니다.
C++ 표준에 그 내용이 포함된걸로 알고있습니다.
안타깝지만 VC++ 6.0 이하에서는 for루프 내부에 선언해도 지역변수 선언한것 처럼 적용되어
그 아래 for문에 동일한 이름으로 선언하면 중복 선언으로 에러가 납니다.
(패치하면 잘 된다고 들었었는데... 패치해본적이 없습니다. ^^; 그냥 7.0쓰고있습니다.)
(또한 6.0이하라고 했지만... 그 이하 버전에서 문법적 테스트를 해본것은 아닙니다. 다만 컴파일러 버전이 높아질수록
안정된다는 가정하에서 적었습니다. 그 예로 7.0에서는 많은 부분 개선되었습니다.)

요는... VC++의 버그적 상황을 제외한다면, C / C++의 문법적 확장에서 오는 차이였습니다.



떡대 님이 쓰신 글 :
: 컴파일러가 아니라 C 와 C++ 의 차이입니다.
:
: C++ : for(;;) 안에 지역 변수선언이 가능
: C    : for(;;) 안에 지역 변수선언이 불가능
:
: 참고로 C 의 경우 로컬변수의 경우 함수가 시작하자마자 선언을 꼭 해야 되는데 C++ 은 이 귀찮은 점을 해결한거죠..
: 님이 컴파일하다가 에러가 나는 경우는 C++ 로 컴파일을 하셔야 되는데 C로 컴파일을 해서 에러로 뜬 것입니다.
:
: 1. 터보C 의 경우 C++ 컴파일러가 아니라 C 컴파일러이므로 당연히 에러가 납니다.
: 2. VC 로 컴파일하셨는데 에러가 났다면 확장자를 .cpp 로 변경시키거나
:      환경설정에서 C++ 로 컴파일하게 하시면 될겁니다.
: 3. Borland C 도 2. 과 마찬가지 경우일거라 생각됩니다.
:
:
: 앙탈쟁이 님이 쓰신 글 :
: : #include<stdio.h>
: : #include<conio.h>
: : void main()
: : {
: :     int su[5],max=0;
: :     clrscr();
: :
: :     for (int a=0;a<5 ; a++)
: :     {
: :         printf("%d 번째수를 입력",a+1);
: :         scanf("%d",&su[a]);
: :         printf("su[%d]에 %d가 입력되었습니다\n",a,su[a]);
: :     }
: :
: :     for (int a=0;a<5 ;a++ )
: :     {
: :         if (max<su[a])
: :             max = su[a];
: :     }
: :    
: :     printf("\n입력된 값중 최대값은 %d 입니다.",max);
: : }
: :
: : 여기 구문에서 보면 두번째 for문에서 a값의 자료형을 또 한번(첫번째 for문에서 이미1번 선언했으므로) 선언하는데
: : 제가 에디트 플러스에 볼랜드 5.5를 연동해서 하고 있는데 저렇게 하면 실행이 되는데 다른
: : 터보C나 비쥬얼C에서는 저렇게 두번 선언을 하면 오류가 나오더군요. 한번만 선언해야 잘되구요
: : 컴파일러의 차이인가요?
: : C는 그럼 컴파일에 따라서 구문의 방식이 조금씩 다른건가요?
: : 아시는 분은 답변을 부탁드립니다.

+ -

관련 글 리스트
5316 볼랜드 컴파일과 터보씨나 비쥬얼C컴파일의 차이인가요? 앙탈쟁이 1810 2005/09/23
5328     Re:볼랜드 컴파일과 터보씨나 비쥬얼C컴파일의 차이인가요? 떡대 1936 2005/09/24
5329         Re:Re:볼랜드 컴파일과 터보씨나 비쥬얼C컴파일의 차이인가요? 남병철.레조 1792 2005/09/24
5322     Re:볼랜드 컴파일과 터보씨나 비쥬얼C컴파일의 차이인가요? 이카루스 1754 2005/09/23
5327         Re:Re:볼랜드 컴파일과 터보씨나 비쥬얼C컴파일의 차이인가요? 앙탈쟁이 1748 2005/09/23
5321     Re:볼랜드 컴파일과 터보씨나 비쥬얼C컴파일의 차이인가요? 남병철.레조 1755 2005/09/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.