> 백엔드 개발 > C++ > 본문

C 언어에서 배열의 범위를 벗어난 인덱스는 무엇입니까?

WBOY
풀어 주다: 2023-08-27 21:05:05
앞으로
1253명이 탐색했습니다.

C 언어에서 배열의 범위를 벗어난 인덱스는 무엇입니까?

4개의 요소로 구성된 배열이 있다고 가정해 보겠습니다. 그러면 배열 인덱스는 0부터 3까지가 됩니다. 즉, 인덱스 0부터 3까지의 요소에 액세스할 수 있습니다.

그러나 3보다 큰 인덱스를 사용하면 범위를 벗어난 인덱스라고 합니다.

범위를 벗어난 배열 인덱스를 사용하면 컴파일러가 컴파일되거나 실행되지 않습니다. 그러나 결과가 정확하다는 보장은 없습니다.

결과가 불확실하고 많은 문제가 발생할 수 있습니다. 따라서 배열 인덱스를 사용할 때는 주의하는 것이 좋습니다.

예제 프로그램

다음은 배열의 범위를 벗어난 인덱스에 대한 C 프로그램입니다-

실시간 데모
#include<stdio.h>
int main(void){
   int std[4];
   int i;
   std[0] = 100; //valid
   std[1] = 200; //valid
   std[2] = 300; //valid
   std[3] = 400; //valid
   std[4] = 500; //invalid(out of bounds index)
   //printing all elements
   for( i=0; i<5; i++ )
      printf("std[%d]: %d</p><p>",i,std[i]);
   return 0;
}
로그인 후 복사

Output

위 프로그램을 실행하면 다음과 같은 결과가 나옵니다-

std[0]: 100
std[1]: 200
std[2]: 300
std[3]: 400
std[4]: 2314
로그인 후 복사

설명

이 프로그램에서 배열 크기는 4이므로 배열 인덱스는 std[0]부터 std[3]까지입니다. 그러나 여기서는 std[4]에 값 500을 할당합니다.

그래서 프로그램이 성공적으로 컴파일되고 실행되었습니다. 그러나 값을 인쇄할 때 std[4]의 값은 쓰레기입니다. 500을 할당했고 결과는 2314입니다.

위 내용은 C 언어에서 배열의 범위를 벗어난 인덱스는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿