'변수선언'에 해당되는 글 1건

아래의 코드는 C++ 이 아닌 C 컴파일러에서 컴파일이 될까요? 안될까요?

물론 C 규약으로 보면 안될법도 한데 말이죠.

그런데 GCC v3 이상에서는 이것이 컴파일 됩니다.

코드:
/*
 Copyright (C) Information Equipment co.,LTD.
 All rights reserved.
 Code by JaeHyuk Cho <mailto:minzkn@infoeq.com>
 CVSTAG="$Header$"
*/

#include <stdio.h>

int main(void)
{
 int s_a;
 s_a = 0;

 int s_b = 0; /* 변수 선언위치가 이상하다? */

 (void)s_a, (void)s_b;

 return(0);
}

/* End of source */


마치 다음과 같이 컴파일 되는듯 컴파일이 잘됩니다. 그러나 GCC v2 에서는 아래의 코드는 컴파일 에러를 발생합니다.
똑똑한 반응을 보인것은 반가운 일이지만 저에게는 매우 놀라운 반응으로 생각되었습니다.

코드:
/*
 Copyright (C) Information Equipment co.,LTD.
 All rights reserved.
 Code by JaeHyuk Cho <mailto:minzkn@infoeq.com>
 CVSTAG="$Header$"
*/

#include <stdio.h>

int main(void)
{
 int s_a = 0;
 /* s_a = 0; */
 int s_b = 0;

 (void)s_a, (void)s_b;

 return(0);
}

/* End of source */
크리에이티브 커먼즈 라이센스
Creative Commons License
Posted by minzkn

트랙백 주소 :: http://blog.minzkn.com/trackback/167

댓글을 달아 주세요