logwns   7년 전

i=1,2 일 때, D[i-3]의 값은 어떻게 되나요??

처음에 D[0],D[1],D[2]값을 정해놓고 i=3부터 n까지 봤었는데

이렇게 해도 맞게 나와서 궁금하네요..

bupjae   7년 전

D[-1] 이나 D[-2] 를 읽거나 쓸 때의 결과는 정의되지 않았습니다. (Undefined Behavior 라고 부릅니다)

전체 프로그램이 쓸모없게 된다 라고 생각하셔도 크게 다르지 않을 겁니다.

jaydoubluel   7년 전

물론 좋은 습관은 아니지만 '쓸모 없어'질 것까지 있나요
배열 크기가 4의 배수가 아니면 보통 한두개는 써도..

bupjae   7년 전

정말로 전체 프로그램이 쓸모없어 질 수 있습니다.


배열 범위를 벗어나 읽고 쓰는 코드가 어떻게 컴파일 되는지에 관한 좋은 예로 https://godbolt.org/g/Mc6Qu1 가 있습니다.

댓글을 작성하려면 로그인해야 합니다.