C언어의 배열은 공부할 수 없는 사양으로 바뀌었는가?
그리고 배열의 영역 밖을 참조한 프로그램을 컴파일했을 때 경고가 나와 놀랐다.
옛날에는 나오지 않았을 것인데・・・.
hoge.c
#include <stdio.h>
int main( void )
{
int dat[5] = {0};
int i;
printf( "Start\n" );
/* 隊を表示 */
for ( i = 0; i < 5; i++ ) {
printf("dat[%d] %d %p\n", i, dat[i], &dat[i] );
}
/* 存在しない要素を表示 */
printf("dat[5] %d %p\n", dat[5], &dat[5] );
printf( "End\n" );
return 0;
}
c89 규격조차도 경고가 나왔다.
경고 억제
컴파일 타임에 경고가 발생하지 않도록하는 것이 이상하다고 생각합니다.
그러나 해결책이 없습니다.
버전
일부러 경고 억제를 하지 않고, 컴파일 에러도 내지 않고, 배열 범위외에 밟을 수 있는 컴파일러는 없는 것일까.
아니면 OS 문제인가?
OS: OS X Yosemite 10.10.5
서적에 사용하고 있는 버젼이 기재되어 있지 않으니까・・・.
근본적으로 10년 이상 전의 책을 사용하고 있는 것에 문제가 있을까...
타카가 배열 밖을 참조하는 작업에 몇 시간을 보낸 orz
(게다가, 본래의 작업에서 벗어난 것에, 몇 시간을 낭비한다)
결론
신경 쓰지 않기로 결정했습니다.
따로 경고가 나오기 때문이라고는 할 수 있고, 공부는 계속할 수 있다(지장은 나오지 않는다).
참고 URL
gcc 설치 : ぃ tp // 코 m/시니치오카야마/있어 ms/962에 55 아 c7f8920
버전을 근본적으로 변경하는 단계 : ぃ tp // 코 m / 히로키 11x / ms / 261612c142, 176 츠바 5
이전 gcc 명령 옵션 목록 : h tp // w w. 아사히네 t. 오 r. jp/~wg5k-i ckw/HTML/오네/g-c-2.95.2/g-c_2. HTML
컴파일러 옵션 목록 : http://wwweic.eri.u-tokyo.ac.jp/computer/manual/altix/compile/Fortran/Intel_Fdoc91/main_for/mergedProjects/copts_for/common_content/options_ref_cross_refs_for.htm
GNU gcc 경고 옵션 : h tp // w w. 음 r. 오 rg/~에 ss/도 c/g 꼬마 pts/
일부 경고를 오류 처리로 변경 : h tp // w w. 메타레아 l. 오 rg / 2008 / 12 / 12 / g c-o p chion s-re-ku st-r-su p-p-s-r r-n gs-an-d-er rs /
옵션 사용 예 : htp // wcwcs23. cs. 고베. 아 c. jp/~모리/4s개 전 ts/엔슈/엔슈 2. 2006/모리/gc. HTML
C99 사양 : h tp // w w. 뾰족하고 r. 네 t/㎁구아게/c㎁g/01
IBM c99 : htps //w w. 이 bm. 이 m/로 ゔぉぺr rks/jp/ぃぬ x/ぃb 등 ry/l99/
Mac에서 C 언어 : htp ://응-히로키-p로g. 하테나 bぉg. 코m/엔트리/2016/06/04/212428
이번에 관련이 없는 사이트(어셈블리 표시): h tp : // 쿠이타. m/kaicho 256/ms/d04d2980b7f9633b735b
Reference
이 문제에 관하여(C언어의 배열은 공부할 수 없는 사양으로 바뀌었는가?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/chesscommands/items/68d8237eccf5fac05e13
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
일부러 경고 억제를 하지 않고, 컴파일 에러도 내지 않고, 배열 범위외에 밟을 수 있는 컴파일러는 없는 것일까.
아니면 OS 문제인가?
OS: OS X Yosemite 10.10.5
서적에 사용하고 있는 버젼이 기재되어 있지 않으니까・・・.
근본적으로 10년 이상 전의 책을 사용하고 있는 것에 문제가 있을까...
타카가 배열 밖을 참조하는 작업에 몇 시간을 보낸 orz
(게다가, 본래의 작업에서 벗어난 것에, 몇 시간을 낭비한다)
결론
신경 쓰지 않기로 결정했습니다.
따로 경고가 나오기 때문이라고는 할 수 있고, 공부는 계속할 수 있다(지장은 나오지 않는다).
참고 URL
gcc 설치 : ぃ tp // 코 m/시니치오카야마/있어 ms/962에 55 아 c7f8920
버전을 근본적으로 변경하는 단계 : ぃ tp // 코 m / 히로키 11x / ms / 261612c142, 176 츠바 5
이전 gcc 명령 옵션 목록 : h tp // w w. 아사히네 t. 오 r. jp/~wg5k-i ckw/HTML/오네/g-c-2.95.2/g-c_2. HTML
컴파일러 옵션 목록 : http://wwweic.eri.u-tokyo.ac.jp/computer/manual/altix/compile/Fortran/Intel_Fdoc91/main_for/mergedProjects/copts_for/common_content/options_ref_cross_refs_for.htm
GNU gcc 경고 옵션 : h tp // w w. 음 r. 오 rg/~에 ss/도 c/g 꼬마 pts/
일부 경고를 오류 처리로 변경 : h tp // w w. 메타레아 l. 오 rg / 2008 / 12 / 12 / g c-o p chion s-re-ku st-r-su p-p-s-r r-n gs-an-d-er rs /
옵션 사용 예 : htp // wcwcs23. cs. 고베. 아 c. jp/~모리/4s개 전 ts/엔슈/엔슈 2. 2006/모리/gc. HTML
C99 사양 : h tp // w w. 뾰족하고 r. 네 t/㎁구아게/c㎁g/01
IBM c99 : htps //w w. 이 bm. 이 m/로 ゔぉぺr rks/jp/ぃぬ x/ぃb 등 ry/l99/
Mac에서 C 언어 : htp ://응-히로키-p로g. 하테나 bぉg. 코m/엔트리/2016/06/04/212428
이번에 관련이 없는 사이트(어셈블리 표시): h tp : // 쿠이타. m/kaicho 256/ms/d04d2980b7f9633b735b
Reference
이 문제에 관하여(C언어의 배열은 공부할 수 없는 사양으로 바뀌었는가?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/chesscommands/items/68d8237eccf5fac05e13
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
gcc 설치 : ぃ tp // 코 m/시니치오카야마/있어 ms/962에 55 아 c7f8920
버전을 근본적으로 변경하는 단계 : ぃ tp // 코 m / 히로키 11x / ms / 261612c142, 176 츠바 5
이전 gcc 명령 옵션 목록 : h tp // w w. 아사히네 t. 오 r. jp/~wg5k-i ckw/HTML/오네/g-c-2.95.2/g-c_2. HTML
컴파일러 옵션 목록 : http://wwweic.eri.u-tokyo.ac.jp/computer/manual/altix/compile/Fortran/Intel_Fdoc91/main_for/mergedProjects/copts_for/common_content/options_ref_cross_refs_for.htm
GNU gcc 경고 옵션 : h tp // w w. 음 r. 오 rg/~에 ss/도 c/g 꼬마 pts/
일부 경고를 오류 처리로 변경 : h tp // w w. 메타레아 l. 오 rg / 2008 / 12 / 12 / g c-o p chion s-re-ku st-r-su p-p-s-r r-n gs-an-d-er rs /
옵션 사용 예 : htp // wcwcs23. cs. 고베. 아 c. jp/~모리/4s개 전 ts/엔슈/엔슈 2. 2006/모리/gc. HTML
C99 사양 : h tp // w w. 뾰족하고 r. 네 t/㎁구아게/c㎁g/01
IBM c99 : htps //w w. 이 bm. 이 m/로 ゔぉぺr rks/jp/ぃぬ x/ぃb 등 ry/l99/
Mac에서 C 언어 : htp ://응-히로키-p로g. 하테나 bぉg. 코m/엔트리/2016/06/04/212428
이번에 관련이 없는 사이트(어셈블리 표시): h tp : // 쿠이타. m/kaicho 256/ms/d04d2980b7f9633b735b
Reference
이 문제에 관하여(C언어의 배열은 공부할 수 없는 사양으로 바뀌었는가?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/chesscommands/items/68d8237eccf5fac05e13텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)