C언어/참고서: C언어 콘서트

C언어 34차시 배열 인덱스의 범위 넘어갈 때 발생하는 문제

Olivia-BlackCherry 2023. 3. 29. 16:03

배열을 사용할 때 조심해야 하는 부분이 배열 인덱스 범위이다. 

배열을 초기화 할 때 사이즈를 적는 수와, 실제 배열의 인덱스를 적을 때 헷갈릴 수 있다. 

int s[10]; -----> 사이즈가 10인 배열에서 인덱스는 0~9까지이다.
s[10] =10;   --------> 오류이다! 

 

인덱스가 배열의 크기를 벗어나면 프로그램에 치명적인 오류를 발생시킨다. 

컴파일러는 유효 범위 안의 인덱스를 확인하지 않는다. 

오직 프로그래머가 인덱스가 범위를 벗어나지 않았는지 확인하고 책임진다. 

 

따라서 경계를 넘어가는 인덱스를 사용하면

>> 컴파일은 되지만, 실행이 중지될 수도 있다!