Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist in der Sprache C ein Out-of-Bounds-Index eines Arrays?

Was ist in der Sprache C ein Out-of-Bounds-Index eines Arrays?

WBOY
WBOYnach vorne
2023-08-27 21:05:051173Durchsuche

Was ist in der Sprache C ein Out-of-Bounds-Index eines Arrays?

Angenommen, Sie haben ein Array mit vier Elementen. Dann liegt der Array-Index zwischen 0 und 3, d. h. wir können auf die Elemente mit Index 0 bis 3 zugreifen.

Aber wenn wir einen Index größer als 3 verwenden, wird dies als Index außerhalb der Grenzen bezeichnet.

Wenn wir einen Array-Index außerhalb der Grenzen verwenden, wird der Compiler nicht kompiliert oder ausgeführt. Es kann jedoch nicht garantiert werden, dass die Ergebnisse korrekt sind.

Die Ergebnisse können unsicher sein und viele Probleme verursachen. Daher wird empfohlen, bei der Verwendung von Array-Indizes vorsichtig zu sein.

Beispielprogramm

Das Folgende ist ein C-Programm für einen Out-of-Bounds-Index in einem Array –

Live-Demonstration
#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;
}

Ausgabe

Wenn das obige Programm ausgeführt wird, werden die folgenden Ergebnisse erzeugt –

std[0]: 100
std[1]: 200
std[2]: 300
std[3]: 400
std[4]: 2314

Erklärung

In diesem Programm beträgt die Array-Größe 4, sodass der Array-Index von std[0] bis std[3] reicht. Allerdings weisen wir hier std[4] den Wert 500 zu.

Das Programm wurde also erfolgreich kompiliert und ausgeführt. Beim Drucken des Werts ist der Wert von std[4] jedoch Müll. Wir haben darin 500 zugewiesen und das Ergebnis ist 2314.

Das obige ist der detaillierte Inhalt vonWas ist in der Sprache C ein Out-of-Bounds-Index eines Arrays?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen