>  기사  >  백엔드 개발  >  C 언어에서 배열의 범위를 벗어난 인덱스는 무엇입니까?

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

WBOY
WBOY앞으로
2023-08-27 21:05:051240검색

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으로 문의하시기 바랍니다. 삭제